Page 1 sur 1
Pk ce code ne marche pas ?
Publié : dim. 20/mars/2005 16:06
par gansta93
Bonjour,
Faites une lib avec TailBite avec ce code.
Code : Tout sélectionner
ProcedureDLL OpenMailClient(Address$) ; Open the default E-Mail client according address and others specified data.
ProcedureReturn RunProgram("mailto:" + Address$)
EndProcedure
ProcedureCDLL OpenMailClient_DEBUG(Address$) ; Open the default E-Mail client according address and others specified data.
If FindString(Address$,"@",1)=1 Or FindString(Address$,"@",1)=0 Or FindString(Address$,"@",1)=Len(Address$) Or CountString(Address$,"@")=0 Or CountString(Address$,"@")>1 Or FindString(Address$,".",FindString(address$,"@",1))=1 Or FindString(Address$,".",FindString(address$,"@",1))=0
TB_DebugError("The address "+address$+" is not valid.")
EndIf
EndProcedure
Publié : dim. 20/mars/2005 16:12
par Progi1984
Et ensuite ?
Publié : dim. 20/mars/2005 16:20
par Progi1984
J'ai essayé cela :
OpenMailClient("
progi.1984@caramail.com")
ca fonctionne
Masi la seconde fonctionne m'affiche :
OpenMailClient_DEBUG() is not a function,an array or a linked list.
Publié : dim. 20/mars/2005 16:30
par gansta93
Progi1984 a écrit :Et ensuite ?
Ensuite, utilise cette fonction en y faisant des erreures volontaires ou même utilise-la normalemant, ça plante.
Publié : lun. 21/mars/2005 3:16
par El_Choni
Vrai, c'est un nouvel bug (P*tain, les bugs s'en accumulent !

)
Publié : lun. 21/mars/2005 10:21
par gansta93
Donc c pas moi, pour une fois... Merci El_Choni pour la réponse.

On dirait que trop de vérification fait planter le programme.
Publié : mer. 23/mars/2005 16:35
par brossden
Bonjour tout le monde !
Je ne vois pas ou est le bug de PB !
1- Pourquoi ProcedureCDLL ? (d'ou sort le "C" )
2- Ou est définie la fonction TB_DebugError ?
Par contre le code modifié fonctionne trés bien
Code : Tout sélectionner
ProcedureDLL OpenMailClient(Address$) ; Open the default E-Mail client according address and others specified data.
ProcedureReturn RunProgram("mailto:" + Address$)
EndProcedure
ProcedureDLL OpenMailClient_DEBUG(Address$) ; Open the default E-Mail client according address and others specified data.
If FindString(Address$,"@",1)=1 Or FindString(Address$,"@",1)=0 Or FindString(Address$,"@",1)=Len(Address$) Or CountString(Address$,"@")=0 Or CountString(Address$,"@")>1 Or FindString(Address$,".",FindString(Address$,"@",1))=1 Or FindString(Address$,".",FindString(Address$,"@",1))=0
Debug("The address "+Address$+" is not valid.")
EndIf
EndProcedure
OpenMailClient_DEBUG("Brossden aol.com")
OpenMailClient("Brossden@aol.com")
Mais le mieux est peut être de réunir les deux :
Code : Tout sélectionner
ProcedureDLL OpenMailClient(Address$) ; Open the default E-Mail client according address and others specified data.
If FindString(Address$,"@",1)=1 Or FindString(Address$,"@",1)=0 Or FindString(Address$,"@",1)=Len(Address$) Or CountString(Address$,"@")=0 Or CountString(Address$,"@")>1 Or FindString(Address$,".",FindString(Address$,"@",1))=1 Or FindString(Address$,".",FindString(Address$,"@",1))=0
MessageRequester("Message d'erreur","The address "+Address$+" is not valid.")
Else
RunProgram("mailto:" + Address$)
EndIf
EndProcedure
OpenMailClient("Brossden aol.com")
OpenMailClient("Brossden@aol.com")
Publié : mer. 23/mars/2005 16:45
par brossden
brossden a écrit :Bonjour tout le monde !
Je ne vois pas ou est le bug de PB !
1- Pourquoi ProcedureCDLL ? (d'ou sort le "C" )
2- Ou est définie la fonction TB_DebugError ?
Par contre le code modifié fonctionne trés bien
Code : Tout sélectionner
ProcedureDLL OpenMailClient(Address$) ; Open the default E-Mail client according address and others specified data.
ProcedureReturn RunProgram("mailto:" + Address$)
EndProcedure
ProcedureDLL OpenMailClient_DEBUG(Address$) ; Open the default E-Mail client according address and others specified data.
If FindString(Address$,"@",1)=1 Or FindString(Address$,"@",1)=0 Or FindString(Address$,"@",1)=Len(Address$) Or CountString(Address$,"@")=0 Or CountString(Address$,"@")>1 Or FindString(Address$,".",FindString(Address$,"@",1))=1 Or FindString(Address$,".",FindString(Address$,"@",1))=0
Debug("The address "+Address$+" is not valid.")
EndIf
EndProcedure
OpenMailClient_DEBUG("Brossden aol.com")
OpenMailClient("Brossden@aol.com")
Mais le mieux est peut être de réunir les deux :
Code : Tout sélectionner
ProcedureDLL OpenMailClient(Address$) ; Open the default E-Mail client according address and others specified data.
If FindString(Address$,"@",1)=1 Or FindString(Address$,"@",1)=0 Or FindString(Address$,"@",1)=Len(Address$) Or CountString(Address$,"@")=0 Or CountString(Address$,"@")>1 Or FindString(Address$,".",FindString(Address$,"@",1))=1 Or FindString(Address$,".",FindString(Address$,"@",1))=0
MessageRequester("Message d'erreur","The address "+Address$+" is not valid.")
ProcedureReturn #False
Else
ProcedureReturn RunProgram("mailto:" + Address$)
EndIf
EndProcedure
If OpenMailClient("Brossden aol.com") = #False
If OpenMailClient("Brossden@aol.com") =#False
MessageRequester("Message d'erreur","La requète n'a pu être exécutée")
EndIf
EndIf
Publié : mer. 23/mars/2005 20:30
par gansta93
Ce code est destiné à être compilé avec TailBite, c'est pour ça que je procède ainsi.
TB_DebugError() est une fonction de TailBite pour faire intervenire le debugger comme les autres librairies.
Le ProcedureCDLL, c'est comme ça que El_Choni a dit de procéder pour faire des fonctions avec vérification du Debugger.
Voilà pourquoi j'ai procéder ainsi, c'est pour ma librairie. Je pense que sinon, El_Choni n'aurait pas répondu.

Publié : jeu. 24/mars/2005 7:46
par brossden
Excuse moi Gansta93 je n'avais pas remarqué que nous étions sur le site de Tailbite !
Je ne vois pas l'interet d'utiliser des librairies qui ont un équivalent en purebasic de base, mais ce doit être l'apanage des "PROS".
Publié : jeu. 24/mars/2005 9:17
par gansta93
brossden a écrit :Excuse moi Gansta93 je n'avais pas remarqué que nous étions sur le site de Tailbite !
Il n'y a pas de forums de TailBite, et c'est pour ça que je l'ai mis dans débutant.
brossden a écrit :Je ne vois pas l'interet d'utiliser des librairies qui ont un équivalent en purebasic de base, mais ce doit être l'apanage des "PROS".
Qui parle de "pro" ?
Et si ma question ne te plaît pas, il te suffit de ne pas y répondre.