Autor Beitrag
rokdd
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 329

Win XP
D6
BeitragVerfasst: Mo 09.02.04 13:32 
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:

ausblenden Delphi-Quelltext
1:
setlength(books,(length(books)+length(temp)));					


beim debuggen ergeben die beiden längen zusammen addiert 5. wenn man aber jetzt

ausblenden Delphi-Quelltext
1:
setlength(books,5);					


schreibt funzt es! der fehler triit auch nicht immer auf! kann mir jemand helfen???

Rokdd


Zuletzt bearbeitet von rokdd am Do 12.02.04 00:06, insgesamt 1-mal bearbeitet
uruz
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 329

Win XP
D6
BeitragVerfasst: Mo 09.02.04 13:43 
die elemente sind nur teilweise gefüllt!
Folgenden type haben beide arrays(und beide dynamisch):
ausblenden 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
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 329

Win XP
D6
BeitragVerfasst: 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
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 329

Win XP
D6
BeitragVerfasst: 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