PureBasic

Forums PureBasic
Nous sommes le Lun 17/Déc/2018 11:58

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 9 messages ] 
Auteur Message
 Sujet du message: Bug FreeMemory PB5.70Beta3 [Resolu]
MessagePosté: Mer 05/Déc/2018 16:35 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 25/Aoû/2004 6:31
Messages: 2564
Localisation: Eragny
Salut les enfants !

Avant de poster ça sur le forum anglais.. est ce que c'est moi le problème, ou bien il y a bien un bug avec PB5.70 Beta 3 j'ai un plantage sur le FreeMemory...
Code:
FileName.s="Coucou les enfants"
*Mem=AllocateMemory(MemoryStringLength(@FileName)+2)
Debug MemorySize(*Mem)
PokeS(*Mem,FileName)
Debug PeekS(*Mem)
FreeMemory(*Mem)


Merci d'avance :P


Dernière édition par Thyphoon le Mer 05/Déc/2018 20:14, édité 2 fois.

Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Bug Allocatememory PB3.70Beta 3
MessagePosté: Mer 05/Déc/2018 17:17 
Hors ligne

Inscription: Jeu 05/Fév/2009 17:58
Messages: 844
Salut Thyphoon
Peut-être avec 3.70 beta3 ?, mais pas avec la 5.62 :oops:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Bug Allocatememory PB3.70Beta 3
MessagePosté: Mer 05/Déc/2018 17:28 
Hors ligne

Inscription: Jeu 07/Juin/2007 22:54
Messages: 206
@Thyphoon la 5.70 beta tu veux dire ? m'enfin, ça ne viens pas de la beta non.
Code:
FileName.s="Coucou les enfants"
*Mem=AllocateMemory(SizeOf(string))
Debug MemorySize(*Mem)
PokeS(*Mem,FileName)
Debug PeekS(*Mem)
Delay(1)
FreeMemory(*Mem)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Bug Allocatememory PB3.70Beta 3
MessagePosté: Mer 05/Déc/2018 18:18 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 25/Aoû/2004 6:31
Messages: 2564
Localisation: Eragny
MLD a écrit:
Salut Thyphoon
Peut-être avec 3.70 beta3 ?, mais pas avec la 5.62 :oops:

zut 5.70Beta lolllll je corrige :P
sur la 5.62 tu n'as pas de souci ?

boby a écrit:
@Thyphoon la 5.70 beta tu veux dire ? m'enfin, ça ne viens pas de la beta non.
Code:
FileName.s="Coucou les enfants"
*Mem=AllocateMemory(SizeOf(string))
Debug MemorySize(*Mem)
PokeS(*Mem,FileName)
Debug PeekS(*Mem)
Delay(1)
FreeMemory(*Mem)

Heuuuuu... ça fonctionne mais c'est dangereux ta façon de faire SizeOf(String) = 4 Pour l'AllocateMemory ça fait un peu petit pour loger la chaîne de caractère :mrgreen:
Et Delay(1) effectivement empêche apparemment le plantage mais est-ce normal ?

Merci en tout cas pour les reponses :D


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Bug FreeMemory PB5.70Beta3
MessagePosté: Mer 05/Déc/2018 19:39 
Hors ligne

Inscription: Jeu 07/Juin/2007 22:54
Messages: 206
@Thyphoon 2 Choses :
1) même soucis avec la 5.62

2) J'aurais au moins corrigé une erreur de ma part, en effet le sizeof(string) n'a pas lieu d'être utilisé dans un pointeur... C'était con de ma part.
En revanche si tu veux obtenir la taille en bytes d'une string, utilise la fonction StringByteLength()

Code:
FileName.s="Coucou les enfants"
*Mem=AllocateMemory(StringByteLength(FileName)+2)
Debug MemorySize(*Mem)
PokeS(*Mem,FileName)
Debug PeekS(*mem)
FreeMemory(*Mem)


Sizeof(String) sera à utiliser pour une string dans une structure... je me suis un peut embrouillé moi même.

Citation:
Et Delay(1) effectivement empêche apparemment le plantage mais est-ce normal ?


En fait non, il ne sert à rien et masquait juste le soucis sans vraiment le coriger


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Bug FreeMemory PB5.70Beta3
MessagePosté: Mer 05/Déc/2018 20:00 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 25/Aoû/2004 6:31
Messages: 2564
Localisation: Eragny
boby a écrit:
@Thyphoon 2 Choses :
1) même soucis avec la 5.62
2) tu ne stock pas la chaine de caractère dans le pointeur *Mem quand tu PokeS, tu stock l'adresse mémoire qui va contenire ta chaine de caractère, il n'est donc pas nécèssaire de lui allouer plus de place qu'une integer... D'où le sizeof(string) (qui vaut 8 en x64)

Du coup n'ai pas peur, utilise sizeof(string) c'est fait pour ça ;)

Citation:
Et Delay(1) effectivement empêche apparemment le plantage mais est-ce normal ?


En activant le purifier il semble que ce soit au pokeS qu'il y ai un problème, j'essaie de comprendre... Ne tiens pas compte de mon poste pour le moment.

Un grand merci pour le temps que tu passes... Je t'embrasse pas mais le coeur y est :P
Je me trompe peut être mais SizeOf(String) ça marche pour une variable de type String... alors que là c'est une allocation mémoire... Il faut donc utiliser la longeur de la chaine ce qui varie en fonction de l'encodage d'ou l'utilisation de ....heu...et là je te rejoins j'ai utilisé MemoryStringLength au lieu de StringByteLength...
code d'exemple dans la documentation
Code:
Texte.s = "Salut !!!"

  *mem = AllocateMemory(StringByteLength(Texte) + SizeOf(CHARACTER))
  CopyMemory(@Texte, *mem, StringByteLength(Texte) + SizeOf(CHARACTER))
  Debug MemorySize(*mem)
  Debug PeekS(*mem)
  FreeMemory(*mem)



Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Bug FreeMemory PB5.70Beta3
MessagePosté: Mer 05/Déc/2018 20:14 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 25/Aoû/2004 6:31
Messages: 2564
Localisation: Eragny
Donc pas de bug c'était bien moi :oops:
c'était une erreur de ma part MemoryStringLength au lieu de StringByteLength :oops: :oops: :oops:

là ça marche parfaitement :mrgreen:


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Bug FreeMemory PB5.70Beta3 [Resolu]
MessagePosté: Mer 05/Déc/2018 20:27 
Hors ligne

Inscription: Jeu 07/Juin/2007 22:54
Messages: 206
Ouais... Pis moi comme un couillon j'en rajoute une couche en racontant nimporte quoi avant de réfléchire 5 minutes :p


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Bug FreeMemory PB5.70Beta3 [Resolu]
MessagePosté: Mer 05/Déc/2018 20:40 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 25/Aoû/2004 6:31
Messages: 2564
Localisation: Eragny
boby a écrit:
Ouais... Pis moi comme un couillon j'en rajoute une couche en racontant nimporte quoi avant de réfléchire 5 minutes :p

On va mettre ça sur le dos des journées d'hiver qui sont fatiguante :mrgreen:
Mais un grand merci tu m'as mis sur la piste :mrgreen:


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 9 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye