Einzelnen Beitrag anzeigen

xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: EAccessViolation - warum?

  Alt 6. Mär 2007, 14:54
Hallo,
Zitat von fapsons:
Kann mir jemand sagen, warum an der gekennzeichten Stelle es zu einer EAccessViolation kommt?
Warum kann ich denn nicht auf den String schreiben?
Weil der String nicht initialisiert und damit nil ist. Du könntest vorher den String auf die gewünschte Länge setzen:
Delphi-Quellcode:
function Separate_Prims_From_nWebZE(value: String): T2KeyParts;
var i :Integer;
    str_Prims, str_nWebZE: String;
begin
  SetLength(str_Prins, length(Value) - 3);
  for i := 1 to (length(value)- 3) do
 begin
    str_Prims[i] := value[i];
 end;
 ...
Noch besser ist es allerdings, den String direkt zuzuweisen:
Delphi-Quellcode:
function Separate_Prims_From_nWebZE(value: String): T2KeyParts;
var i :Integer;
    str_Prims, str_nWebZE: String;
begin
  str_Prims := Copy(Value, 1, Length(Value) - 3);
 ...
Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat