Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
hardy
Messages : 333 Inscription : mer. 02/juin/2004 13:19
Localisation : Tours
Message
par hardy » mar. 03/août/2004 23:59
Problème : la fonction API opentrace renvoit un INT64 (pas son adresse). Mais PB ne supporte pas les "doubles".
Qui sait comment faire?
Oliv
Messages : 2117 Inscription : mer. 21/janv./2004 18:39
Message
par Oliv » mer. 04/août/2004 0:16
va sur pureaera il y a une lib pour ça, il y a aussi un code de cédéravic sur le musée ou ici je crois
hardy
Messages : 333 Inscription : mer. 02/juin/2004 13:19
Localisation : Tours
Message
par hardy » mer. 04/août/2004 0:22
La lib permet de manipuler des nombres 64 bits déclarés comme structure :
structure double
low.l
high.l
endstructure
Mais PB considère ça comme une structure, et n'accepte pas un truc du genre a.double=callfunction(...)
Oliv
Messages : 2117 Inscription : mer. 21/janv./2004 18:39
Message
par Oliv » mer. 04/août/2004 0:24
ah, ça je ne savais pas, je savais juste que ça existait
Anonyme2
Messages : 3518 Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans
Message
par Anonyme2 » mer. 04/août/2004 7:21
hardy a écrit : La lib permet de manipuler des nombres 64 bits déclarés comme structure :
structure double
low.l
high.l
endstructure
Mais PB considère ça comme une structure, et n'accepte pas un truc du genre a.double=callfunction(...)
Essaye ceci (on accède à la variable avec son 1er élément)
Si la dll renvoie une adresse, utilise ceci
Code : Tout sélectionner
*MemoryID = AllocateMemory(8) ; tu réserve 8 octets en mémoire soit 64 bits
Tu récupère la valeur avec CopyMemory()
En espérant qu'une des solutions fonctionne.
hardy
Messages : 333 Inscription : mer. 02/juin/2004 13:19
Localisation : Tours
Message
par hardy » mer. 04/août/2004 9:52
Non, elle ne renvoie pas d'adresse, sinon je n'aurait pas de problème.
Vais essayer a\low.
Sinon, Fred est dans le coin?
Faudrait savoir comment le callfunction marche.
Peut-être que l'on peut récupérer la valeur dans le registre (?)
hardy
Messages : 333 Inscription : mer. 02/juin/2004 13:19
Localisation : Tours
Message
par hardy » mer. 04/août/2004 10:03
Oui, a\lowpart=... marche. Le prog doit donner l'adresse de la variable où mettre le résultat, et la dll copier ce qu'il faut à partir de là. D'où ... pas de problème
Merci bien.