Je programme actuellement un logiciel pour mes besoins. Celui-ci doit traduire une liste de mots en différente en langue via le service de traduction de google.
J'ai actuellement une erreur de type "Invalid memory access" lors de l'execution de mon programme avec la procédure ci-dessous. L'erreur apparait sur le "EndProcedure"
Code : Tout sélectionner
Procedure CreateTranslation(HackNull.b)
AddMsgToLog("---------- Creation des fichiers de translation .tran ----------")
; Choix des traductions
Protected ErrorCode.b = 0
Protected WebPageSrc.s = LoadWebPageToString("http://www.google.fr/language_tools", @ErrorCode.b)
; Selon le résultat de la fonction
Select ErrorCode.b
Case #HTTP_OK
Debug WebPageSrc.s
Case #HTTP_ERROR_PARAMETER
AddMsgToLog("Error of parameters for the function LoadWebPageToMemory")
EndBackgroundTask()
ProcedureReturn
Case #HTTP_ERROR_CONNECT
AddMsgToLog("Connexion failed to the web site www.google.fr")
EndBackgroundTask()
ProcedureReturn
Case #HTTP_ERROR_MEMORY
AddMsgToLog("Not enough memory to the buffer")
EndBackgroundTask()
ProcedureReturn
EndSelect
EndBackgroundTask()
EndProcedure
Je ne conprends pas les causes de cette erreur. J'ai cherché sur google les cas possibles pour ce type de problémes. Mais le peu de résultat concernant les exes PureBasic n'a pu éclairer ma lanterne.
J'aimerais connaitre les techniques pour traquer l'origine de ce message d'erreur.
J'ai cherché du coté des pointeurs que j'utilise beaucoup dans la procédure "LoadWebPageToString" mais rien ne me semble incorrecte.
Je ne peut poster l'ensembe du code source sur le forum. Cela représente 3000 lignes environ. Si nécessaire je peut créer une archive à télécharger avec l'ensemble du code.
Merci d'avance pour votre aide et de vos suggestions.