Voilà j'ai une erreur je ne sais comment la résoudre ...

Le but du programme : faire une recherche dans le contenu des fichiers d'un dossier
Mon code :
L'erreur est quand le programme veut lire le fichier , il dit "#File object not initialized" , pourtant j'ai bien tout déclaré , qu'est-ce qui ne va pas ?Enumeration
#txt1
#txt2
#txtb1
#txtb2
#dir1
#button1
#fichier
#regex
EndEnumeration
OpenWindow(0,150,150,500,400,"")
CreateGadgetList(WindowID(0) )
;------TEXTES-----
TextGadget(#txt1,1,30,200,25,"Chemin du dossier a chercher : ")
TextGadget(#txt2,1,60,150,25,"Mot à rechercher : ")
;------------------
;---------- TEXT BOXES ---------
StringGadget(#txtb1,150,30,350,20,"C:\")
StringGadget(#txtb2,90,60,410,20,"dans une seule ligne")
;-------------------------------
;-------BOUTONS------
ButtonGadget(#button1,240,90,20,20,"ok")
;--------------------
Repeat
event = WindowEvent()
If event = #PB_Event_Gadget
Select EventGadget()
Case #button1
resultats$ = "Fichiers trouvés :" + Chr(10)
chemindossier$ = GetGadgetText(#txtb1) + "\"
recherche$ = GetGadgetText(#txtb2)
CreateRegularExpression(#regex,recherche$)
ExamineDirectory(#dir1,chemindossier$,"*.*")
While NextDirectoryEntry(#dir1)
If DirectoryEntryName(#dir1) = "."
ElseIf DirectoryEntryName(#dir1) = ".."
ElseIf DirectoryEntryType(#dir1) = 2
Else
nomfichier$ = DirectoryEntryName(#dir1)
ReadFile(#fichier,nomfichier$)
If DirectoryEntryType(#dir1) = 1
While Eof(#fichier) = 0
ligne$ = ReadString(#fichier)
If MatchRegularExpression(#regex,ligne$)
resultats$ = resultats$ + DirectoryEntryName(#dir1) + Chr(10)
EndIf
CloseFile(#fichier)
Wend
EndIf
EndIf
Wend
FinishDirectory(#dir1)
MessageRequester("Resultats",resultats$)
EndSelect
EndIf
Until event = #WM_CLOSE

Merci pour vos réponses.
