| |
|
|
 |
Autor |
Nachricht |
 |
| |
|
|
| |
| Semmel |
#2| Verfasst am: 24.07.2008, 21:48 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
Mitglied Alter: 43 Status: offline Beiträge: 57 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
sonstige Fenster
das wäre mein Vorschlag |
|
 |
|
|
|
| |
| alzaimar |
#3| Verfasst am: 24.07.2008, 21:58 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
sehr aktives Mitglied Alter: 45 Status: offline Beiträge: 3.220 angemeldet: 06.05.2005 Wohnort: Berlin Delphi 2006 Architect

|
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] |
 Nach dem Spiel ist vor dem Spiel.
Zuletzt bearbeitet von alzaimar am 25.07.2008, 07:52, insgesamt 1-mal bearbeitet. |
 |
|
|
|
| |
| SirThornberry |
#4| Verfasst am: 24.07.2008, 22:06 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
Moderator Alter: 24 Status: offline Beiträge: 9.964 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 |
 |
|
|
|
| |
| omata |
#5| Verfasst am: 25.07.2008, 02:06 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
sehr aktives Mitglied Status: offline Beiträge: 1.761 angemeldet: 26.08.2004 Wohnort: Wedel Delphi 7 Enterprise

|
| Semmel hat folgendes geschrieben: | |
Fenster werden nicht mit Free sondern mit Release freigegeben! |
|
 |
|
|
|
| |
| turboPASCAL |
#6| Verfasst am: 25.07.2008, 03:41 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
aktives Mitglied Alter: 40 Status: online Beiträge: 2.780 angemeldet: 08.05.2005 Wohnort: Sondershausen Delphi 6 Personal

|
@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. |
 Grüße vom Rüsselmops -Mops Mopser |
 |
|
|
|
| |
| alzaimar |
#7| Verfasst am: 25.07.2008, 07:51 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
sehr aktives Mitglied Alter: 45 Status: offline Beiträge: 3.220 angemeldet: 06.05.2005 Wohnort: Berlin Delphi 2006 Architect

|
| 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. Ich streich das wech, verwirrt nur. |
 Nach dem Spiel ist vor dem Spiel. |
 |
|
|
|
| |
| HHick123 |
#8| Verfasst am: 25.07.2008, 12:53 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
aktives Mitglied Status: offline Beiträge: 69 angemeldet: 23.07.2007

|
| Zitat: | | verguck dich nicht so in den Resourcen. |
Hmm, verlockend ist es ja schon Hab' gerade mit
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 |
|
 |
|
|
|
| |
| HHick123 |
#9| Verfasst am: 27.07.2008, 11:24 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
aktives Mitglied Status: offline Beiträge: 69 angemeldet: 23.07.2007

|
| Zitat: | | ich erzeuge die meisten Fenster erst zur Laufzeit |
Ok, werd' ich auch so machen... |
|
 |
|
|
|
| |
| Hansa |
#10| Verfasst am: 27.07.2008, 11:40 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
sehr aktives Mitglied Beiträge: 6.586 angemeldet: 09.06.2002

|
| omata hat folgendes geschrieben: | | Fenster werden nicht mit Free sondern mit Release freigegeben! |
Weder, noch. | 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 ? |
 Gruß
Hansa |
 |
|
|
|
| |
| messie |
#11| Verfasst am: 27.07.2008, 12:56 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
aktives Mitglied Status: offline Beiträge: 781 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 |
|
 |
|
|
|
| |
| HHick123 |
#12| Verfasst am: 27.07.2008, 21:45 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
aktives Mitglied Status: offline Beiträge: 69 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... |
|
 |
|
|
|
| |
| rotfc |
#13| Verfasst am: 27.07.2008, 23:28 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
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 |
|
 |
|
|
|
| |
| HHick123 |
#14| Verfasst am: 29.07.2008, 14:21 Titel: Re: Programm mit 181 Fenstern |
 |
 |
 |
|
aktives Mitglied Status: offline Beiträge: 69 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. |
 |
|
|
|
 |
|
 |
| |
|
|
| |
 
|
|