AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

(Formular-)Handling größerer Projekte

Ein Thema von mm1256 · begonnen am 11. Mär 2015 · letzter Beitrag vom 13. Mär 2015
 
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#18

AW: (Formular-)Handling größerer Projekte

  Alt 12. Mär 2015, 13:01
Oder du erzeugst mit jedem Aufruf ein neues Formular, anstatt das bestehende anzuzeigen. Wenn du das willst, dann brauchst du ja gar keine Formularvariable:

Dazu überprüfe ich das Anwendungsobjekt, ob bereits irgendeine Instanz des Fensters erzeugt wurde:

Delphi-Quellcode:
function ShowFormOnce(AFormClass: TComponentClass): TForm;
var
  liZ1: Integer;
begin
  Result := nil;
  for liZ1 := 0 to Application.ComponentCount-1 do
   begin
    if (Application.Components[liZ1] is AFormClass) then
     begin
      Result := TForm(Application.Components[liZ1]);
     end;
   end;

  if (Result = nil) then
   begin
    Result := TForm(AFormClass.Create(Application));
   end;

  Result.Show;

end;
wobei "AFormClass" die Klasse des entsprechenden Fensters ist.

Existiert eine Instanz, dann wird diese angezeigt anderenfalls wird eine Instanz erzeugt und danach angezeigt.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.

Geändert von BadenPower (12. Mär 2015 um 14:05 Uhr) Grund: Abfrage berichtigt
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 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