Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
19. Mai 2011
Warum machst Du es Dir nicht einfach und nimmst einfach meinen Code aus #21?
@bummi: die Assigned-Abfrage kannst Du Dir sparen, das übernimmt Free bereits.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
19. Mai 2011
Hoffentlich gibst Du die Objekte aber zum Schluss auch wieder frei.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
19. Mai 2011
Genau davon rede ich doch die ganze Zeit.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
19. Mai 2011
Da hast Du ja auch bei jedem Klick ein neues Objekt erstellt, hier aber nicht. Mal angenommen, Du baust ein Haus und streichst es weiß an. Den Schlüssel legst Du in eine Schachtel. Nun legst Du einen zweiten Schlüssel zu diesem Haus in eine andere Schachtel und streichst das Haus grün. Wenn Du nun den Schlüssel aus der ersten Schachtel nimmst, kannst Du damit das weiße Haus aufschließen?
Den...
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
19. Mai 2011
Nein! Was Dein Array enthält, sind lediglich Zeiger und keine Daten. Die Objekte musst Du selbst anlegen, das ist nicht so wie bei primitiven Datentypen wie Integer oder Char.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
19. Mai 2011
Davon habe ich aber bislang nichts gesehen. Wo kommen die anderen Instanzen denn her?
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
19. Mai 2011
Nochmal zum Verständnis: eine Objektinstanz ist intern nichts anderes als ein Zeiger. Legst Du also nur eine Instanz an, änderst da etwas und merkst Dir diese Instanz in Deinen Array-Elementen, so zeigen diese alle auf ein und dasselbe Objekt. Wenn Du das nicht willst, musst Du eben so viele Instanzen anlegen, wie Dein Array Felder besitzt. Und genau das habe ich in meinem geposteten Code getan.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
19. Mai 2011
Ich verstehe unter Datenbank etwas anderes, aber egal. Hast Du mein Edit in #21 gelesen?
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
19. Mai 2011
Von welcher Datenbank redest Du eigentlich ständig?
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
19. Mai 2011
Und wie viele davon? Du musst natürlich je Eintrag in Deine Liste eine Instanz erzeugen.
Oder wenn Du sowieso immer 112 Instanzen brauchst, kannst Du sie ja gleich von vornherein anlegen.
constructor TPeriodensystem.Create;
var
i: integer;
begin
inherited;
for i := Low(inhalt) to High(inhalt) do
inhalt := TAtom.Create;
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
18. Mai 2011
Wenn es eine Klasse ist, musst Du die Objekte dieser Klasse auch erzeugen (und später wieder freigeben), von allein geschieht das nicht.
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
18. Mai 2011
Was kommt hierbei heraus?
procedure TPeriodensystem.Hinzufuegen(X:TAtom);
var I:integer;
begin
if Anzahl <= High(Anzahl) then
begin
Inhalt:=x;
Anzahl:=Anzahl+1;
for I:= 1 to Anzahl do
showmessage(inhalt.get_Atomname);
Forum: Object-Pascal / Delphi-Language
Delphi
by DeddyH,
18. Mai 2011
Wie ist denn Inhalt deklariert?