Forum: Projektplanung und -Management
by BadenPower,
12. Mär 2015
Als ich mir dieses Grundgerüst herausgearbeitet habe, da gab es noch gar kein Internet.
Ich glaube dies war beim Erscheinen von Delphi4. Ob ich es schon bei D2 oder gar D1 eingesetzt habe glaube ich aber eher nicht.
Früher war man noch mehr oder weniger wirklich gezwungen sich die Handbücher (7 Stück bei D4) durchzulessen, in welchen doch tatsächlich alle Funktionen beschrieben waren. Das...
Forum: Projektplanung und -Management
by BadenPower,
12. Mär 2015
Über wieviele Millisekunden reden wir hier?
Du gehst ja nicht alle Komponenten der Anwendung durch, sondern wie Sir Rufo schon richtig angemerkt hat, nur die Komponenten deren Owner "Application" ist.
Und dies sind eben meistens nur die Formulare.
Forum: Projektplanung und -Management
by BadenPower,
12. Mär 2015
if (Result = nil) then
begin
Result := TForm(AFormClass.Create(Application));
end;
if Assigned(Result) then // sonst knallts !!!!
Result.Show;
Wenn Du hier Angst hast, dass es knallt und deshalb die Assigned-Abfrage eingefügt hast, dann darfst Du das unten auch nicht so machen:
Forum: Projektplanung und -Management
by BadenPower,
12. Mär 2015
Dazu überprüfe ich das Anwendungsobjekt, ob bereits irgendeine Instanz des Fensters erzeugt wurde:
function ShowFormOnce(AFormClass: TComponentClass): TForm;
var
liZ1: Integer;
begin
Result := nil;
for liZ1 := 0 to Application.ComponentCount-1 do
begin
Forum: Projektplanung und -Management
by BadenPower,
12. Mär 2015
Genau das gleiche passiert, wenn Du es nur so machst:
procedure TFrmClient1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
Warum denn noch zwei Schritte machen, welche automatisch gemacht werden?