Hallo!
Ich habe eine Software, die Stück für Stück gewachsen ist. Nun möchte ich den Teil 'Einstellungen' auslagern. Eine eigene Form sol dazu herhalten. Diese möchte ich auch zum Programmstart nicht direkt mitladen. Daher habe ich sie ersteinmal in eine eigene
Unit gepackt und in den Projektoptionen lediglich unter den verfügbaren Forms einsortiert.
Die Einstellunen bestehen aus einer Vielzahl von Parametern, die bisher immer direkt aus der Hauptform angesprochen wurden. ( z.B. Blabla.xy.Open( Form1.Zielserver.Text)...
Nun habe ich alle Einstellungen auf die andere Form verbannt und müßte nun zum einen alle Namen ändern, ( Form1.ZielServer -> Setup.Zielserver ) aber da komme ich wohl eh nicht drumherum.
Da ich die Setup-Form aber nicht immer im Speicher haben will, lade ich diese nicht gleich zu Anfang, sonder nur auf verlangen. Damit ist der Zugriff auf die verschiedenen Variablen/Objekte nicht mehr möglich.
Ich sehe nun zwei Lösungsansätze, bin aber für jeden weiteren empfänglich, der eleganter ist.
Weg 1: ich lade die Form direkt, aber das frißt halt den zusätzlichen Speicher. Damit habe ich aber einfachste Zugriff auf die Werte der Objekte.
Weg2: Ich definiere in der
Unit der Setup-Form ein Record, in das ich alle einstellungen übernehme und verwendet dieses in der Hauptform.
Weg3: Ich lade in der Hauptform alle Einstellungen aus der Registry, welche in der Setup-Form modifiziert werden können. Dann muß ich nach Aufruf der Setup-Form aber alle Werte neu einlesen. Bzw. immer online alle Parameter zur verwendungszeit aus der Registry grabbeln. Ich weiß nicht, wie lang das dauert.
Generell bin ich bislang stolz darauf, dass das Programm, obwohl es mit einem
TCP-Server zusammenarbeitet und regen Gebrauch von Dantenbanken macht, keinerlei Installationshilfen benötigt. Die EXE kann im Netz von jedem unvorbereitetemn Rechner aufgerufen werden und funktioniert sofort. Das sollte auch so bleiben.
Danke schon mal für einen Hinweis
Gruß,
Ulrich