Thema: Delphi AV bei setlength

Einzelnen Beitrag anzeigen

Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.426 Beiträge
 
Delphi 2007 Professional
 
#1

AV bei setlength

  Alt 18. Nov 2004, 14:20
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.
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat