Zitat von
DJ-SPM:
Delphi-Quellcode:
procedure TForm1.Create....
var
a: TArtikel;
begin
{
Angenommen, das Objekt hat eine maximale Größe von 100kb ;)
Wo werden die 100kb reserviert?
}
a:=TArtikel.Create;
//Schon hier?
db.
Read(a);
//Oder erst hier, da die Daten aus der DB eingetragen werden?
a.Free;
end;
Der Speicher wird durch beide Anweisungen belegt.
Beim Erstellen des Objektes wird für die "festen" Variablen (Integer, Float, ...) Speicher benötigt.
Beim Lesen aus der
DB wird dann der Speicher für die "variablen" Variablen (Strings, ...) gebraucht.
Insofern: Die Wahrheit liegt wiedermal dazwischen.
Wenn du den Speicher zu
einem von
dir definierten Zeitpunkt allozieren willst, musst du dich um alles selbst kümmern ... sprich Pointer auf deine Variablen halten.