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