AGB  ·  Datenschutz  ·  Impressum  







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

Programm mit 181 Fenstern

Ein Thema von HHick123 · begonnen am 24. Jul 2008 · letzter Beitrag vom 29. Jul 2008
Antwort Antwort
Seite 1 von 2  1 2      
HHick123

Registriert seit: 23. Jul 2007
73 Beiträge
 
#1

Programm mit 181 Fenstern

  Alt 24. Jul 2008, 21:33
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
  Mit Zitat antworten Zitat
Semmel

Registriert seit: 15. Feb 2006
Ort: Bad Hall
64 Beiträge
 
#2

Re: Programm mit 181 Fenstern

  Alt 24. Jul 2008, 21:48
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:
 FormX := TFormX.Create( nil );
  try
    FormX .ShowModal;
  finally
    FormX .Free;
  end;
sonstige Fenster

Delphi-Quellcode:
 if FormXY = nil then
   FormX := TFormX.Create( nil );
das wäre mein Vorschlag
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Programm mit 181 Fenstern

  Alt 24. Jul 2008, 21:58
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]
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Programm mit 181 Fenstern

  Alt 24. Jul 2008, 22:06
Zitat von alzaimar:
So wird aber leider FormCreate nicht aufgerufen
Wie kommst du darauf? Bei mir geht das und ich wüsste auch keinen Grund warum es nicht funktionieren sollte.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Programm mit 181 Fenstern

  Alt 25. Jul 2008, 02:06
Zitat von Semmel:
Delphi-Quellcode:
 
FormX := TFormX.Create(nil);
try
  FormX.ShowModal;
finally
  FormX.Free;
end;
Fenster werden nicht mit Free sondern mit Release freigegeben!
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#6

Re: Programm mit 181 Fenstern

  Alt 25. Jul 2008, 03:41
@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.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Programm mit 181 Fenstern

  Alt 25. Jul 2008, 07:51
Zitat von SirThornberry:
Zitat von alzaimar:
So wird aber leider FormCreate nicht aufgerufen
Wie kommst du darauf? Bei mir geht das und ich wüsste auch keinen Grund warum es nicht funktionieren sollte.
Weiss ich auch nicht. Ich streich das wech, verwirrt nur.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
HHick123

Registriert seit: 23. Jul 2007
73 Beiträge
 
#8

Re: Programm mit 181 Fenstern

  Alt 25. Jul 2008, 12:53
Zitat:
verguck dich nicht so in den Resourcen.
Hmm, verlockend ist es ja schon Hab' gerade mit
DialogBox(hInstance, MAKEINTRESOURCE(100), 0, @dlgfunc); einen alten Dialog zum Leben erweckt.

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?

Viele Grüße,
Helmut
  Mit Zitat antworten Zitat
HHick123

Registriert seit: 23. Jul 2007
73 Beiträge
 
#9

Re: Programm mit 181 Fenstern

  Alt 27. Jul 2008, 11:24
Zitat:
ich erzeuge die meisten Fenster erst zur Laufzeit
Ok, werd' ich auch so machen...
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#10

Re: Programm mit 181 Fenstern

  Alt 27. Jul 2008, 11:40
Zitat von omata:
Fenster werden nicht mit Free sondern mit Release freigegeben!
Weder, noch.
Delphi-Quellcode:
procedure Tfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;
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 ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz