c'est a dire une variable
comme ca:
int i; ????
ah, ben là non, je peux pas t'aider
Uther Le 09/04/2003 à 16:35 c'est pas bien dur ca ce fait en 1 romcall
j'ai jamais vraiment utilisé CC ...
Ah ben je te comprends! Le seul problème, c'est qu'il n'y as que ca
Un newbie c'est là pour apprendre.
Bravo Boo et Yaro,votre site est génial!
y'a pas un rom_call VarNw, ou quelaue chose dans ce genre ?
Var New renvoie juste une structure HSym (ou SymEntry, je sais plus). Il faut ensuite que tu sache l'explioter...ce justement pourquoi j'ai posté ce Topic (Désolé pour les posts croisés)
Un newbie c'est là pour apprendre.
Bravo Boo et Yaro,votre site est génial!
ordivore> houdini, c'est la pére de la magie moderne. Il est surtout connu pour ses tours d'évasion.
ah, dsl pr VarNew.
pas regarde la doc avant de poster
Merci, je vais essayer.
Si ca marche, tu me sauve la vie!
Un newbie c'est là pour apprendre.
Bravo Boo et Yaro,votre site est génial!
t'as pas intérêt à revenir en disant qu'il y a une erreur à la ligne SYM_ENTRY *sym=...
Parce qu'il n'aurait pas défini la structure dans sa source.
En fait,==>Vertyos, ta routine telle quelle (avec tout les types définis,pour faire plaisir à jackichan) me retourne "Protected Memory Violation")
Mais sinon, j'ai quand même réussi à désarchiver une variable (Ah!Ces fichus '\0'!)
Un newbie c'est là pour apprendre.
Bravo Boo et Yaro,votre site est génial!
jackiechan==> J'espères que toi tu ne fais pas d'erreur stupides à mes yeux, parceque moi maintenant, je ne te louperais pas ...
Un newbie c'est là pour apprendre.
Bravo Boo et Yaro,votre site est génial!
Link Le 10/04/2003 à 20:44 Vertyos-> je ne suis pas sur qu'il faille utiliser le handle fourni dans la HSYM retournée pas SymAdd...
Moi je fais un HeapAlloc et je stocke le handle dedans...

Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.
Kevin Kofler Le 10/04/2003 à 21:00Edité par Kevin Kofler le 10/04/2003 à 21:04 Link a raison, ton code est faux.
Tu commences par faire un HeapRealloc sur un bloc, ce qui peut invalider le SYM_ENTRY *, puis tu accèdes à sym->handle pour écrire (le résultat de ton HeapRealloc) dans ton SYM_ENTRY *. Ça marchera si et seulement si tu as verrouillé la VAT avec FolderOp préalablement (ce qui assure que le SYM_ENTRY * reste valide). Comme tu ne le fais pas dans ton extrait, ton extrait est faux.
Et je viens de me rendre compte qu'il y a encore un autre bogue: si le HeapRealloc échoue, il retournera 0, mais ton handle restera en mémoire. Résultat: ton fichier aura 0 comme handle, et le bloc du fichier deviendra de la mémoire leakée.