Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Exception Zugriffsverletzung bei Setlength(Array..[erledigt]
rokdd - Mo 09.02.04 13:32
Titel: Exception Zugriffsverletzung bei Setlength(Array..[erledigt]
Hallo,
das problem habe ich größtenteils schon in der überschrift beschrieben. ich möchte die länge eines dynamischen arrays auf length setzen, dabei tritt aber eine exception zugriffsverletzung auf:
Delphi-Quelltext
1:
| setlength(books,(length(books)+length(temp))); |
beim debuggen ergeben die beiden längen zusammen addiert 5. wenn man aber jetzt
schreibt funzt es! der fehler triit auch nicht immer auf! kann mir jemand helfen???
Rokdd
Delete - Mo 09.02.04 13:39
hmmm... sind die beiden Arrays denn auch schon initialisiert ? ich meine... hast du in beiden schon elemente drin ? denke mal, dass temp auch ein dynamischer array sein soll...
handelt es sich bei den elementen der arrays um Klassen oder um Records ?
tritt das beim verkleinern und/oder erweitern des arrays auf ?
;)
rokdd - Mo 09.02.04 13:43
die elemente sind nur teilweise gefüllt!
Folgenden type haben beide arrays(und beide dynamisch):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| type Tbook=Record titel:ansistring; RSN:ansistring; BC:ansistring; Autor:ansistring; Status:integer; kommentar:ansistring; bibo:integer; sprache:integer; datum:TDatetime; category:integer; id:integer; end; |
Der fehler tritt beim vergrößern auf!
Rokdd
Delete - Mo 09.02.04 16:41
Vom Gefühl her würde ich sagen, es liegt daran, dass du AnsiStrings benutzt. Versuch es mal mit ShortStrings oder leg die Größe direkt fest.
rokdd - Mo 09.02.04 17:15
welche größe soll ich direkt festlegen? die des arrays oder der der ansistrings? gibt es betimmte stellen wo es sich auf jeden fall empfiehlt die größe festzulegen? also an einer stelle tritt immer der gleiche fehler auf:
nach dem 4 zeichen im titel wird ein '#0#0#0#0' eingefügt und der eigentliche text an der stelle überschreiben danach geht es normal weiter!
Hilft das??
rokdd
Delete - Mo 09.02.04 19:55
Habe ich mich echt so shclecht ausgedrückt? Ich habe geschrieben:
| Zitat: |
es liegt daran, dass du AnsiStrings benutzt. Versuch es mal mit ShortStrings oder leg die Größe direkt fest.
|
Ich dachte, es wäre klar, dass ich mich beide Mal auf deine String-Variablen bezogen habe.
rokdd - Mo 09.02.04 20:59
ja sorry! tut mir leid! werde das mal probieren!
Hilft dir der hinweis den ich letztens gepostet habe???
Rokdd
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!