![]() |
zur Laufzeit Objektname bestimmen und Objekt erzeugen
Also folgendes:
Ich habe eine Klasse TMaschine, in der die Außmaße, Eigenschaften, u.s.w. meiner Maschine stehen. Nun will ich zur Laufzeit mehrere Maschinenobjekte dieser Klasse erzeugen, die natürlich auch alle anders heißen sollen. Normalerweise mach ich das ja mit einer statischen Zuweisung im Quelltext, also sowas wie
Delphi-Quellcode:
Jedoch wie halte ich die Variable FMaschine dynamisch? Also so dass ich eine Abfrage mache: wie soll die Maschine1 /2 /3 ... heißen?
var
FMaschine : TMaschine; Ich weiß vorher nicht wieviele Maschinen ich erzeugen will. Und wie spreche ich dann im weiteren Programm meine Maschinen an, weil das muss ja dann auch dynamisch sein!?? Ich bitte um Hilfe! mfg cook |
Re: zur Laufzeit Objektname bestimmen und Objekt erzeugen
Nimm doch ein Array, in dem du deine Objekte verwaltest (Oder auch TObjectList). Dann kannst du über einen Index dynamisch an ein bestimmtes Element gelangen.
|
Re: zur Laufzeit Objektname bestimmen und Objekt erzeugen
Also mache ich dann sowas wie?:
Delphi-Quellcode:
Ist das möglich???
Objektarray: array[1..20] of record
Objektname: string{30]; Objektbreite: integer; ... Objektarray[2].Objektname := Edit.Text; ... Edit2.Text := IntToStr(Objektarray[2].Objektbreite); Entspricht das der OOP? oder macht man das dann anders? |
Re: zur Laufzeit Objektname bestimmen und Objekt erzeugen
Moin Cook,
Chewie dachte wohl eher an TList, also so in dieser Form:
Delphi-Quellcode:
Wichtig ist, dass Du das so einbaust, dass Du später erst die Objekte in der Liste jeweils wieder freigibst, bevor Du die Liste freigibst.
var
lsMaschinenListe : TList; begin lsMaschinenListe := TList.Create; lsMaschinenListe.Add(TMaschine.Create); end; |
Re: zur Laufzeit Objektname bestimmen und Objekt erzeugen
ok... dann werd ich das mal mit TList ausprobieren. Aber erst morgen, für heute genug programmiert.
Mit Freigeben meinst du dann Maschine1.Free; und danach erst lsMaschinenliste.Free; ?? Wann muss ich die Sachen eigentlich wieder freigeben? Jedesmal beim beenden des Programms, oder nur wenn ich ein Objekt löschen will? n8 cook |
Re: zur Laufzeit Objektname bestimmen und Objekt erzeugen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz