FastMM, MemCheck und Co. können aber auch nicht alle SpeicherLeaks finden ... vorallem fast alle die, welche nicht über den Speichermanager laufen, fallen nicht auf.
hab hier grad irgendwie den Überblick verloren ... wo/welche ist denn nun eigentlich eine aktuelle Version dieser Datei?
[add]
hab auch mal etwas gespielt
Delphi-Quellcode:
function tEndInd.Put32s(AData: LongInt): AnsiString;
begin
SetLength(Result, 4);
if MotorolaOrder
then begin
asm
mov eax, &AData
bswap eax
mov edx, &Result
mov edx, [edx]
mov [edx], eax
end;
end else PLongInt(@Result[1])^ := aData;
end;
function tEndInd.Put32s(AData: LongInt): AnsiString;
begin
SetLength(Result, 4);
if MotorolaOrder
then
PLongInt(@Result[1])^ := SwapLong(AData)
else PLongInt(@Result[1])^ := aData;
end;
via Pointer-Variable;
Delphi-Quellcode:
function tEndInd.Put32s(AData: LongInt): AnsiString;
var P: PLongInt;
begin
SetLength(Result, 4);
P := @Result[1];
if MotorolaOrder
then begin
asm
mov eax, &AData
bswap eax
mov edx, &P
mov [edx], eax
end;
end else P^ := aData;
end;
function tEndInd.Put32s(AData: LongInt): AnsiString;
var P: PLongInt;
begin
SetLength(Result, 4);
P := @Result[1];
if MotorolaOrder
then
P^ := SwapLong(AData)
else P^ := aData;
end;