Forum: Object-Pascal / Delphi-Language
Delphi
by DelphiManiac,
26. Nov 2008
D.h. nicht zwingend hintereinander? Sondern im Speicher verteilt.
Klingt ja auch logisch, schließlich kann das Programm auch nicht wissen um wie viele Elemente das Array vergrößert wird.
Forum: Object-Pascal / Delphi-Language
Delphi
by DelphiManiac,
26. Nov 2008
Also der Stacküberlauf kommt direkt beim Aufrufen der Button-Prozedur:
procedure TfrmDatalogGUI.btnLadenClick(Sender: TObject);
var
I: Integer;
xlsFile : TXLSFile;
template:string;
sprache:Integer;
Datensaetze: array of TDatensatz;
Datum:TDate;
Forum: Object-Pascal / Delphi-Language
Delphi
by DelphiManiac,
26. Nov 2008
Mit einem dynamisch angelegten Array hat man diese Probleme anscheinend wirklich nicht.
Vielleicht kann ja mal jemand kurz einen Einblick geben, warum das so ist.
Viele Grüße
und vielen Dank
DelphiManiac
Forum: Object-Pascal / Delphi-Language
Delphi
by DelphiManiac,
26. Nov 2008
@NormanNG
MesstellenBez:ShortString; // 16 Byte
Ich belege nur 16 Byte des Strings, jetzt weiß ich nicht genau, wie es im Speicher abgelegt wird, bin davon ausgegangen, das nur 16 Byte belegt werden, kann mich aber täuschen.
@Uwe Raabe:
Forum: Object-Pascal / Delphi-Language
Delphi
by DelphiManiac,
26. Nov 2008
Hallo ich habe eine Struktur:
type
TDatensatz = record
MesstellenNr:Byte;
MesstellenBez:ShortString; // 16 Byte
Tag:Byte;
Monat:Byte;
Jahr:Byte;