Dans le code suivant, j'ai une erreur dès que je clique sur le bouton "Whois". J'ai voulu me tester à la librairie OnError, donc il est possible de voir où ça bug. à paramant, ça bug à la ligne 29 qui n'est qu'un GetGadgetText(), puis ça bug plain de fois après à la ligne 3 qui est le ProcedureReturn de la procédure d'événement.
Voilà le code.
Code : Tout sélectionner
Procedure OnError()
If MessageRequester("Erreur","Une erreur est survenue."+#CRLF$+"Ligne : "+Str(GetErrorLineNR())+#CRLF$+"Numérot de l'erreur : "+Str(GetErrorNumber()) + #CRLF$+"Description : "+GetErrorDescription()+#CRLF$+"à l'adresse : "+Str(GetErrorAddress())+#CRLF$+"Voulez-vous interrompre le programme ?",#PB_MessageRequester_YesNo|#MB_ICONEXCLAMATION) = #IDYES
ProcedureReturn 0
Else
ProcedureReturn 1
EndIf
EndProcedure
If InitNetwork() = 0
OnErrorResume()
MessageRequester("Erreur","Erreur lors de l'initialisation de l'environement réseau (TCP/IP).",#MB_ICONSTOP)
End
EndIf
If OpenWindow(0,0,0,503,86,#PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_TitleBar,"Whois (Domaine libre ?)") = 0 Or CreateGadgetList(WindowID()) = 0
OnErrorResume()
MessageRequester("Erreur","Erreur d'initialisation.",#MB_ICONSTOP)
End
EndIf
OnErrorGosub(@OnError())
TextGadget(0,3,3,100,20,"Domaine :")
StringGadget(1,100,3,300,20,"")
ButtonGadget(2,400,3,100,20,"Whois")
TextGadget(3,3,20,100,20,"Informations :")
EditorGadget(4,100,20,400,60)
SendMessage_(GadgetID(4),#EM_SETREADONLY,1,0)
Editor_AutomaticLine(4,1)
SetGadgetText(4,"lol voilà un exemple de ce que l'on peut mettre ici."+#CRLF$+"Je ne sais pas ce que l'on peut en penser, mais c'est là à titre d'exemple donc c'est pareil même si vous êtes pas contents !"+#CRLF$+#CRLF$+"Note : Ce texte est en lecture seule, vous ne pouvez donc pas l'effacer.")
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadgetID()
Case 2
DefType.s Path,Sufix,Domaine,Serveur
Path = GetProgramPath()
PathAddBackslash_(Path)
PathAppend_(Path,"Whois.ini")
Domaine = GetGadgetText(1)
Sufix = GetExtensionPart(Domaine)
OpenPreferences(Path)
; PreferenceGroup("Sufixes")
Serveur = ReadPreferenceString(Sufix,"")
ClosePreferences()
If Serveur = ""
SetGadgetText(4,"Aucun serveur pour les domaine à l'extention ."+Sufix)
EndIf
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
Delay(20)
ForEver
End