Forum: Programmieren allgemein
Delphi
by Sir Rufo,
2. Feb 2014
Warum benutzt du denn nicht CodeCompletion ?
Das geht auch nach dem 10. Bier noch :mrgreen:
Die spinnen doch, die Römer ...
Forum: Programmieren allgemein
Delphi
by Sir Rufo,
2. Feb 2014
Du hast override vergessen ;)
BTW
TFormClass ist definiert als class of TForm ;)
Was du da machst mit dem FC ist nicht falsch, aber überflüssig
Nachtrag
So macht es Sinn
type
TVater = Class( TForm )
Forum: Programmieren allgemein
Delphi
by Sir Rufo,
30. Jan 2014
Ähm, das war doch nur kurz und knapp als Beispiel.
Diesen Code wirst du bei mir aktiv niemals finden, denn wer sägt sich schon den Ast ab auf den er gerade geklettert ist ;)
BTW ein try..finally fehlt auch in dem Code ... :mrgreen:
Forum: Programmieren allgemein
Delphi
by Sir Rufo,
30. Jan 2014
Das ist gefühlt schon immer so gewesen bei TControl
Steht auch so in der Doku zu TControl.Parent
Forum: Programmieren allgemein
Delphi
by Sir Rufo,
30. Jan 2014
LForm := TForm.Create( nil );
LForm.Parent := Panel1;
Panel1.Release;
Und schwupps ist auch die LForm-Instanz futsch ;)
Forum: Programmieren allgemein
Delphi
by Sir Rufo,
30. Jan 2014
Bei Delphi6 wird wohl bei RegisterClassAlias der Alias und der Klassenname registriert.
Das machen neuere Delphis nicht mehr. Müsstest du aber im Code (RegisterClassAlias) nachschauen können.
Ja, die Forms werden ja mit einem Owner erzeugt, und selbst wenn nicht, es wird ja ein Parent angegeben und der würde auch dafür sorgen, dass die Instanz aufgeräumt wird ;)
Forum: Programmieren allgemein
Delphi
by Sir Rufo,
30. Jan 2014
Wer will schon mit BPLs arbeiten :mrgreen:
Forum: Programmieren allgemein
Delphi
by Sir Rufo,
30. Jan 2014
Das RegisterClass kommt am Besten in den initialization Abschnitt, wo diese Klasse auch definiert wurde.
Das FindClass kann dann irgendwo aufgerufen werden.
Dadurch kann man z.B. der MainForm Zugriff auf alle vorhandenen Formular-Klassen ermöglichen ohne die ganzen Formular-Units dort einzubinden.
Ich baue mal ein kleines Beispiel zusammen ... stay tuned
Forum: Programmieren allgemein
Delphi
by Sir Rufo,
30. Jan 2014
Wenn es das nicht geben würde, dann würde es man sich einrichten - was man auch macht, wenn man vererbte Klassen ohne Standard-Konstruktor hat
type
TFoo = class;
TFooClass = class of TFoo;
TFoo = class
constructor Create( ABar : TBar ); virtual;
Forum: Programmieren allgemein
Delphi
by Sir Rufo,
30. Jan 2014
Ab TComponent ist der auf jeden Fall virtual
Forum: Programmieren allgemein
Delphi
by Sir Rufo,
30. Jan 2014
@Jumpy
Warum nicht RegisterClass bzw. RegisterClassAlias und FindClass?
Forum: Programmieren allgemein
Delphi
by Sir Rufo,
30. Jan 2014
var
F : Array of TFormClass;
begin
F.Create( Self ).Show;
end;
Und wenn du deine Forms registrierst mit RegisterClass oder RegisterClassAlias dann kannst du dir die über den Namen suchen FindClass