Warum bekomme ich immer wieder mal ne
AV an der besagetn Stelle ?
Ich verwende ICS ServerSocket, und im DataAvailable eines Client verwende ich unter anderem folgenden Code (der Code ist gleich am Anfang)
Delphi-Quellcode:
function ReadString(
var Data : Pointer) :
string;
var len : integer;
begin
CopyMemory(@len, Data, 4);
setlength(Result, len); <= hier bekomme ich die
AV
Data := Pointer(integer(Data)+4);
CopyMemory(@Result[1], Data, len);
Data := Pointer(integer(Data)+len);
end;
[Edit]
Der Fehler tritt nicht immer auf, ca. 1 mal von 6 Durchläufen.