![]() |
EAccessViolation - warum?
Hey Leute,
muss heute das Forum leider häufiger beanspruchen, weil ich heute irgendwie mal den Durchblick verloren haben. Kann mir jemand sagen, warum an der gekennzeichten Stelle es zu einer EAccessViolation kommt? Warum kann ich denn nicht auf den String schreiben? Gruß -fapsons-
Delphi-Quellcode:
function Separate_Prims_From_nWebZE(value: String): T2KeyParts;
var i :Integer; str_Prims, str_nWebZE: String; begin for i := 1 to (length(value)- 3) do begin str_Prims[i] := value[i]; // <--- EAccessViolation end; for i := (length(value)- 3) to (length(value)) do begin str_nWebZE[i] := value[i]; end; result[1] := strtoint(str_Prims); result[2] := strtoint(str_nWebZE); end; |
Re: EAccessViolation - warum?
Hallo :hi:
Delphi-Quellcode:
str_Prims is noch leer. Somit schreibst du über das Ende des Strings hinaus...
str_Prims[i] := value[i];
Delphi-Quellcode:
mfg
str_Prims := str_Prims + value[i];
Christian |
Re: EAccessViolation - warum?
Hallo,
Zitat:
Delphi-Quellcode:
Noch besser ist es allerdings, den String direkt zuzuweisen:
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; ...
Delphi-Quellcode:
Gruß
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); ... xaromz |
Re: EAccessViolation - warum?
Delphi-Quellcode:
Grüße
function Separate_Prims_From_nWebZE(value: String): T2KeyParts;
var i :Integer; str_Prims, str_nWebZE: String; begin str_Prims:=''; // eingefügt for i := 1 to (length(value)- 3) do begin str_Prims := Str_Prims + value[i]; // <--- keine EAccessViolation end; for i := (length(value)- 3) to (length(value)) do begin str_nWebZE[i] := value[i]; // hier solltest Du es auch ändern. end; result[1] := strtoint(str_Prims); result[2] := strtoint(str_nWebZE); end; Klaus |
Re: EAccessViolation - warum?
Oh mann und ich denk nicht an Copy... :wall: Copy is natürlcih der beste Weg... Sollte den Code nächstes Mal genauer angucken.
Siehe auch: ![]() mfg Christian |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz