Ich habe über Metatypen einen Array definiert.
Dieser ist in einer Unit ausgelagert.
Quelltext
1: 2: 3: 4:
| unit uFunctionWork; type TClass = class of TForm; TFormtypes = Array[0..4] of TClass; |
Ich habe im fsMDIForm (es handelt sich bei dem Programm um MDI) in den Array die Kinder geschrieben (also TForm1, TForm2 etc.) undzwar so:
Quelltext
1: 2: 3: 4: 5: 6:
| unit wGrundform; var Formtype : TFormtypes; begin Formtype[1] := TForm1; end; |
usw...
Hintergrund zum Ganzen:
Ich möchte eine MDI-Applikation schreiben, ohne zirkuläre Refferenzen.
Funktioniert auch alles wunderbar und schön. Is mir aber noch nicht kompliziert genug.
Eigentlich möcht ich das ganze mit Pointern machen.
In etwa so:
Quelltext
1: 2: 3: 4: 5: 6:
| unit uFunctionWork; type TClass = ^TForm; TFormTypeArray = array[1..4] of TClass; var Formtype : TFormtypes; |
Und den Teil in dem ich in den Array schreiben möchte sollte in etwa so aussehen:
Quelltext
1: 2: 3: 4: 5: 6:
| unit wGrundform; var p : TClass; begin p^.Formtype[1] := TForm1; end; |
Das Problem ist, das Formtype nicht mehr erkannt wird bzw.
ich den Pointer garnicht auf den Array refferenzieren kann.
Ich hoffe irgendjemand hat ne Lösung.
Thx im Vorraus.
Stellen Sie sich bitte Zirkusmusik vor.