Bonjour,

je voudrais récupérer un bloc d'octet en memoire. Pour ce faire g un pointeur de structure, un déplacement par rapport au début de la struture et le nombre d'octet a récupérer.
J'ai procéder de la mnière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Function GetTAPIStructString(ptrTapistruct:pointer; offset, length :Integer):String;
var
buffer : array of Byte;
begin
If length < 1 Then
  Exit; //'handle erroneous input
If offset<>0 Then
  begin
    setLength(buffer,length);
    CopyMemory( buffer, ptr(integer(@ptrTapistruct)+offset) , length);
    Result:= string(buffer);
    end;
End;
Ca compile mais le résultat obtenue n'est pas celui attendue.
Est ce que je procède de la bonne manière et ce qui va pas c une mauvaise gestion de la mémoire ou est ce que je fait n'importe quoi

Merci d'avance a+

Balises de code ajoutées par Pierre Castelain.
Pensez-y à l'avenir.