je ne comprend pas la chose suivante :
j'ai un prog. qui charge en statique une routine d'une dll.
ce prog. fait ensuite du multi thread.
chaque thread a une propriété de type pointeur qui sert de paramètre passé lors de l'appel de la routine...
en gros :
lors de la création du thread, le pointeur est alloué :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 TMyThread = Class(TThread) ... Ptr: Pointer; end;
puis dans la méthode Execute du thread, j'appelle la routine de la dll en lui passant ce pointeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 GetMem(Ptr, 1050);
j'ai fait du pas à pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ReturnValue := MyFonction(Ptr);
- à l'appel de MyFonction au niveau du prog, le Ptr a bien une adresse
- à l'entrée dans MyFonction de la dll, le paramètre est à nil !
Partager