![]() |
Programm mit 181 Fenstern
Hallo Leute, ich schon wieder (Danke für die bisherige Hilfe)...
Also ich bin gerade dabei ein GUI von BP7.0 auf Delphi 2006 zu portieren. Die Forms sind in RES-Dateien drinnen, die ich bereits in RC-Dateien konvertiert habe. Mittels grep hab' ich dann die Anzahl der Dialogfenster gezählt. Es sind 181 (jedes reich bestückt mit Buttons, Comboboxes, Edits, etc..). Jetzt sind mir Zweifel gekommen, ob' 181 Form-Units (aufgrund der Anzahl)eigentlich akzeptabel sind... Geht das überhaupt? Oder soll ich die Fenster besser dynamisch erzeugen? Viele Grüße, Helmut |
Re: Programm mit 181 Fenstern
Du wirst sicher nicht alle Fenster immer brauchen außerdem ist die Ladezeit zu lange, ich erzeuge die meisten Fenster erst zur Laufzeit (sicher 80 % +)
Dialoge
Delphi-Quellcode:
sonstige Fenster
FormX := TFormX.Create( nil );
try FormX .ShowModal; finally FormX .Free; end;
Delphi-Quellcode:
das wäre mein Vorschlag
if FormXY = nil then
FormX := TFormX.Create( nil ); |
Re: Programm mit 181 Fenstern
Ich mache es etwas diffiziler:
1. Dialogfenster (Kurz ne Frage oder irgendwie ein paar Datein eingeben): So wie Du. 2. Wichtige Fenster (Datenmodule, Hauptfenster): Mit Application.CreateForm. Die Hauptanwendung initialisiert maximal das Datenmodul und das Hauptfenster. Wenn ich allerdings eine etwas komplexere Datenbankverbindung habe, dann instantiiere ich das Haupt-Datenmodul vom Hauptfenster aus. Beispielsweise, wenn das Datenmodul Threads startet. [edit]Von Sir Thornberry monierten Quatsch gestrichen[/edit] |
Re: Programm mit 181 Fenstern
Zitat:
|
Re: Programm mit 181 Fenstern
Zitat:
|
Re: Programm mit 181 Fenstern
@HHick123,
verguck dich nicht so in den Resourcen. ;) Analysiere lieber das eigentliche Programm anhand seines Ablaufes. Leider kennen wir dein Programm nicht und können deswegen auch keine exakte Aussage treffen. |
Re: Programm mit 181 Fenstern
Zitat:
|
Re: Programm mit 181 Fenstern
Zitat:
Delphi-Quellcode:
einen alten Dialog zum Leben erweckt.
DialogBox(hInstance, MAKEINTRESOURCE(100), 0, @dlgfunc);
Aber besser würd' es mir schon gefallen, nur die Geometrie-Informationen aus den RES-Dateien zu verwenden und die Dialoge von TForm abzuleiten. Dazu müsste ich die RES-Dateien aber in DFM-Dateien umwandeln... Siehst Du da eine Chance? Oder einen anderen Weg? :gruebel: Viele Grüße, Helmut |
Re: Programm mit 181 Fenstern
Zitat:
|
Re: Programm mit 181 Fenstern
Zitat:
Delphi-Quellcode:
Und bei 181 Forms würde ich mir mal dringend die Funktionsweise der Form-Inheritance ansehen, oder soll diese Zeile 181mal überall von Hand eingefügt werden ? :shock:
procedure Tfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin Action := caFree; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 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