Delphi-PRAXiS :: Das Forum für Fragen zu Delphi
Das Experten Forum für Delphi Programmierer
Hilfe für CodeGear Delphi gibts es hier im Forum
Delphi Quelltexte und Source Codes
 
Delphi-PRAXiS :: Foren-ÜbersichtForen-Übersicht Delphi-PRAXiS Modul-ÜbersichtSite-Map Delphi-PRAXiS durchsuchenSuchen Delphi-PRAXiS Code-LibraryCode-Library Jetzt registrieren!Registrieren Login  
   
 
0
 
Delphi für Win32
Programm mit 181 Fenstern
Ein Delphi (Win32)-Thema von HHick123.

Vorheriges Thema anzeigen  |  Nächstes Thema anzeigen
Neuen Beitrag schreiben Auf Beitrag antworten
als PDF-Datei herunterladenThema ausdrucken
 
Delphi-PRAXiS Forum - Übersicht -> VCL / WinForms / Controls
Seite 1 von 1   [ 14 Beiträge ]  
 
 Autor 
 Nachricht 
 
HHick123 #1|Beitrag #920397Verfasst am: 24.07.2008, 21:33      Titel: Programm mit 181 Fenstern Antworten mit Zitat
Mitglied
Status: offline
Beiträge: 70
angemeldet: 23.07.2007


Sprache: Delphi (Win32)

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
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
Semmel #2|Beitrag #920403Verfasst am: 24.07.2008, 21:48      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
Mitglied
Alter: 44
Status: offline
Beiträge: 58
angemeldet: 15.02.2006
Wohnort: Bad Hall


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: markieren
FormX := TFormX.Create( nil );
  try
    FormX .ShowModal;
  finally
    FormX .Free;
  end;


sonstige Fenster

Delphi-Quellcode: markieren
if FormXY = nil then
   FormX := TFormX.Create( nil );


das wäre mein Vorschlag
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
alzaimar #3|Beitrag #920404Verfasst am: 24.07.2008, 21:58      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
Moderator
Alter: 45
Status: offline
Beiträge: 4.083
angemeldet: 06.05.2005
Wohnort: Berlin
RAD-Studio 2007 Enterprise

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]

1. Das Selbstverständnis unter der Voraussetzung.
2. Und das ist es, was wir unseren Wählern schuldig sind
3. Die konzentrierte Beinhaltung als Kernstück eines zukunftsweisenden Parteiprogramms.

 Zuletzt bearbeitet von alzaimar am 25.07.2008, 07:52, insgesamt 1-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
SirThornberry #4|Beitrag #920405Verfasst am: 24.07.2008, 22:06      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
Moderator
Alter: 25
Status: offline
Beiträge: 10.858
angemeldet: 23.09.2003
Wohnort: Bockwen
Delphi 2006 Professional

alzaimar hat folgendes geschrieben:
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.

Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
omata #5|Beitrag #920458Verfasst am: 25.07.2008, 02:06      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
aktives Mitglied
Status: offline
Beiträge: 2.366
angemeldet: 26.08.2004
Wohnort: Wedel
Delphi 7 Enterprise

Semmel hat folgendes geschrieben:
Delphi-Quellcode: markieren
FormX := TFormX.Create(nil);
try
  FormX.ShowModal;
finally
  FormX.Free;
end;


Fenster werden nicht mit Free sondern mit Release freigegeben!
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
turboPASCAL #6|Beitrag #920462Verfasst am: 25.07.2008, 03:41      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
sehr aktives Mitglied
Alter: 41
Status: offline
Beiträge: 3.412
angemeldet: 08.05.2005
Wohnort: Sondershausen
Delphi 6 Personal

@HHick123,

verguck dich nicht so in den Resourcen. Wink
Analysiere lieber das eigentliche Programm anhand seines Ablaufes.

Leider kennen wir dein Programm nicht und können deswegen auch keine
exakte Aussage treffen.

Grüße vom Rüsselmops -Mops Mopser
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
alzaimar #7|Beitrag #920465Verfasst am: 25.07.2008, 07:51      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
Moderator
Alter: 45
Status: offline
Beiträge: 4.083
angemeldet: 06.05.2005
Wohnort: Berlin
RAD-Studio 2007 Enterprise

SirThornberry hat folgendes geschrieben:
alzaimar hat folgendes geschrieben:
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. Embarassed Ich streich das wech, verwirrt nur.

1. Das Selbstverständnis unter der Voraussetzung.
2. Und das ist es, was wir unseren Wählern schuldig sind
3. Die konzentrierte Beinhaltung als Kernstück eines zukunftsweisenden Parteiprogramms.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
HHick123 #8|Beitrag #920519Verfasst am: 25.07.2008, 12:53      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
Mitglied
Status: offline
Beiträge: 70
angemeldet: 23.07.2007


Zitat:
verguck dich nicht so in den Resourcen.


Hmm, verlockend ist es ja schon Wink Hab' gerade mit
Delphi-Quellcode: markieren
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? Grübelnd...

Viele Grüße,
Helmut
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
HHick123 #9|Beitrag #920919Verfasst am: 27.07.2008, 11:24      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
Mitglied
Status: offline
Beiträge: 70
angemeldet: 23.07.2007


Zitat:
ich erzeuge die meisten Fenster erst zur Laufzeit

Ok, werd' ich auch so machen...
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
Hansa #10|Beitrag #920928Verfasst am: 27.07.2008, 11:40      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
aktives Mitglied
Beiträge: 7.016
angemeldet: 09.06.2002
Wohnort: Saarland


omata hat folgendes geschrieben:
Fenster werden nicht mit Free sondern mit Release freigegeben!


Weder, noch. Mr. Green
Delphi-Quellcode: markieren
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 ? Shocked

Gruß
Hansa
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
messie #11|Beitrag #920962Verfasst am: 27.07.2008, 12:56      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
aktives Mitglied
Status: offline
Beiträge: 959
angemeldet: 02.03.2005
Wohnort: Göttingen
Delphi 6 Professional

HHick123 hat folgendes geschrieben:
Zitat:
ich erzeuge die meisten Fenster erst zur Laufzeit

Ok, werd' ich auch so machen...

Das würde ich von der Programmstruktur abhängig machen. Ich kann mir allerdings kein Programm vorstellen, wo so viele Fenster mit ganz unterschiedlicher Grafik und unterschiedlichen Funktionen existieren können, das es lohnt. Zudem dürfte es hässlich groß werden mit all den Ressourcen.
Das neu Erzeugen und Füllen der Unterfenster vermeidet auch Speicherprobleme: Fenster erzeugen, Daten übergeben, Daten einsammeln, freigeben ist einfach übersichtlicher.
Ich hab' hier eine Anwendung, die bestand ürsprünglich aus 26 Forms, die Daten wurden jeweils global vorgehalten. Jetzt habe ich noch vier Forms, was außer dem Hauptfenster mit Hauptmenü ein About- ein Help- und das Fenster für die eigentlichen Berechnungen sind.

Grüße, Messie
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
HHick123 #12|Beitrag #921089Verfasst am: 27.07.2008, 21:45      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
Mitglied
Status: offline
Beiträge: 70
angemeldet: 23.07.2007


Zitat:
kein Programm vorstellen, wo so viele Fenster mit ganz unterschiedlicher Grafik und unterschiedlichen Funktionen existieren können


Ja, ist eher ein antikes Programm. Nennen wir es mal "Bauteilbibiliothek". Man kann sich das so vorstellen: Jeder Bauteil hat ein eigenes Fenster, in dem sich die unterschiedlichsten Eigenschaften der Bauteile einstellen lassen (wobei es eine Menge gegenseitiger Beeinflussungen gibt). Wenn man das heute von "Scratch" neuprogrammieren würde, würde man das ev. überhaupt anders machen (TreeView oder ähnliches in einem Fenster), ok, aber der Kunde möchte unbedingt, dass das Programm genauso aussieht, wie früher...
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
rotfc #13|Beitrag #921109Verfasst am: 27.07.2008, 23:28      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
ehem. Benutzer


Bei den 181 Dialogen kann ich mir kaum vorstellen, daß für jede einzelne Einstellung des Programms ein eigener Dialog benutzt wird.

Irgendwo muß der Kram auch *zentral* gespeichert werden, noch dazu, wenn sich die Einstellungen gegenseitig beeinflussen (wie Du schrubst).

Diese zentrale Datei, in der diese Einstellungen gespeichert werden, würde ich mir als erstes vorknöpfen:

- welche Dialoge lesen davon Daten (nur) aus
- Welche Dialoge speichern darin (nur) Daten
- welche Dialoge ändern lesend und speichernd Daten?

Mein erster Ansatz ginge so in die Richtung einer Unit mit globalen Definitionen/Funktionen/Variablen für alle "Dialoge".

Zeig doch vielleicht mal eines dieser alten Dialogfenster (Source mit Screenshot).

Vielleicht hülft's Wink
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
 
HHick123 #14|Beitrag #921643Verfasst am: 29.07.2008, 14:21      Titel: Re: Programm mit 181 Fenstern Antworten mit Zitat
Mitglied
Status: offline
Beiträge: 70
angemeldet: 23.07.2007


Zitat:
Diese zentrale Datei, in der diese Einstellungen gespeichert werden, würde ich mir als erstes vorknöpfen


Dahinter steckt eine Oracle-Datenbank. Ich werd' mir die Daten mal näher anschauen und auch analysieren, welche Dialoge wie darauf zugreifen.

Zitat:
Zeig doch vielleicht mal eines dieser alten Dialogfenster (Source mit Screenshot).
Ev. komm' ich später darauf zurück...

Viele Grüße, Helmut

 Zuletzt bearbeitet von HHick123 am 29.07.2008, 14:21, insgesamt 1-mal bearbeitet.
nach oben nach unten
Benutzer-Profile anzeigen Private Nachricht senden
Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen im Forum zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Google zu suchen. Markiere Begriffe im Text und klicke auf diesen Button, um nach zusätzlichen Informationen bei Wikipedia zu suchen.
 
Anzeige-Optionen:    
 
Delphi-PRAXiS Forum - Übersicht -> VCL / WinForms / Controls Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1   [ 14 Beiträge ]  
 
  Neuen Beitrag schreiben Auf Beitrag antworten
als PDF-Datei herunterladenThema ausdrucken
 
   
Gehe zu:  
Du darfst keine Beiträge in dieses Forum schreiben.
Du darfst auf Beiträge in diesem Forum nicht antworten.
Du darfst Deine Beiträge in diesem Forum nicht bearbeiten.
Du darfst Deine Beiträge in diesem Forum nicht löschen.
Du darfst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten.
Du kannst Dateien in diesem Forum nicht herunterladen.


Impressum / Kontakt
Allgemeine Geschäftsbedingungen
Verhaltenskodex & FAQ

Delphi-PRAXiS :: Das Forum für Delphi-Programmierer
Das Experten Forum für Delphi ProgrammiererHilfe für Borland Delphi gibts es hier im ForumDelphi Quelltexte und Source CodesDelphi-PRAXiS :: Das Forum für DelphiWindows APIInternet und NetzwerkeVCL und Datenbanken
 

Delphi-PRAXiS V.2005 III
© 2002-2009 by Daniel R. Wolf
powered by phpBB © phpBB Group

Impressum / Kontakt Allgemeine Geschäftsbedingungen