[D8] Utilisation dll D7 sous D8
:salut:
En delphi 7 j'utilisais massivement les pointers et, en général, ça fonctionnait mais en esseyant d'exploiter ce code sur D 8, j'obtient des choses bizarres.
Voilà, je voudrais donc utiliser une dll écrite en D 7 qui contient cette fonction
Code:
1 2 3 4 5
|
function AddDataP(InHandle : integer;Name : PChar;data : PChar;Replace : longbool) : longbool;stdcall;
begin
...
end; |
sous D 8, j'ai essayé plusieurs méthodes qui ressemblaient à ça
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
function AddDataP(InHandle : integer;Name : PChar;data : PChar;Replace : longbool) : longbool;unsafe;external 'sdsf.dll';
function StrToPChar(InStr : string) : PChar;unsafe;
begin
Result := PChar(@InStr);
end;
...
begin
AddDataP(Handle,StrToPChar('system'),StrToPChar('data.dat'),true);
...
end; |
Mais voilà, dans cette méthode, je crois que seul le 1ere caracètre de chaque PChar est reçu par la dll D 7 ... je dis "je crois" car j'ai essayé une infinité de méthodes qui mon soit fait n'importe quoi, soit une erreur de Marshaling ...
Merci d'avance