Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Datenbankbasierte Tabsheets erstellen (https://www.delphipraxis.net/33484-datenbankbasierte-tabsheets-erstellen.html)

Igotcha 8. Nov 2004 08:23


Datenbankbasierte Tabsheets erstellen
 
Hallo zusammen,

in meiner Anwendung möchte ich noch ein Feature integrieren, bei dem ich mir über das technische Design noch nicht ganz im Klaren bin.

Ziel soll es sein, einem Anwender in einer bestehenden Anwendung (meinem Programm), in einem bestehenden Pagecontrol auf Wunsch zusätzliche datengebundene Informationen anzuzeigen und ggf. Möglichkeiten zur Bearbeitung zu geben.

Meine bisherigen Tests belaufen sich auf ein DBGrid mit Navigator, welche dynamisch auf einem neuen Tabsheet dargestellt werden. Beim Programmstart wird in der Datenbank geschaut, ob es für den User eine (oder mehrere) individuelle Datensichten gibt und dann werden x zusätzliche Tabsheets mit den genannten Komponenten generiert und die Table-Komponente mit der entsprechenden Tabelle verbunden. Funktioniert, ist allerdings vom Layout her stark eingeschränkt.

Was ich mir wünschen würde wäre folgendes:

- man erstellt in der Delphi-IDE ein Tabsheet "nach Maß"
- speichert dieses in der Datenbank (dfm)
- existiert für einen User solch eine individuelle Datensicht, wird aus der Datenbank das entsprechende Tabsheet-dfm geladen, ein neues, leeres Tabsheet hinzugefügt und der Inhalt der dfm präsentiert

Ich habe gestern mit WriteComponentResFile und ReadComponentResFile rumgespielt und bin dabei so vorgegangen:

Anwendung mit einem Pagecontrol und einem Tabsheet erstellt. Tabsheet nach Wunsch designt, Anwendung gestartet und per Button ein WriteComponentResFile bzgl. des Tabsheets gemacht. In meinem Testprogramm zur Anzeige sind drei Probleme aufgetaucht:

1. meistens bekam ich beim Laden ein "invalid streamformat" und
2. wenn Fehler 1 nicht kam, wurden die Inhalte der dfm-Datei nicht angezeigt
3. die dfm-Datei muß als File vorliegen (temporäres speichern der aus der DB gelesenen dfm-Datei wäre zwar möglich, finde ich aber nicht schön)

Habt ihr da evtl. Tipps für mich?

Gruß Igotcha

ibp 8. Nov 2004 08:56

Re: Datenbankbasierte Tabsheets erstellen
 
warum erstellst du kein admin tool, mit dem man die komponenten des tabsheets erstellt und positioniert, die erforderlichen daten kannst du ja in einer gesonderten tabelle der db speichern. wenn sich der user einloggt, wird dann das sheet nach seinen einstellungen aufgebaut, hat den vorteil, dass man es ohne probleme ändern kann!

Igotcha 8. Nov 2004 09:02

Re: Datenbankbasierte Tabsheets erstellen
 
Zitat:

Zitat von ibp
warum erstellst du kein admin tool, mit dem man die komponenten des tabsheets erstellt und positioniert, die erforderlichen daten kannst du ja in einer gesonderten tabelle der db speichern. wenn sich der user einloggt, wird dann das sheet nach seinen einstellungen aufgebaut, hat den vorteil, dass man es ohne probleme ändern kann!

Ist doch das, was ich vorhabe. Nur, ich möchte mir im Moment das "Admin-Tool" ersparen (Aufwand) - deshalb das Erstellen in der Delphi-IDE. Wobei der User sich das Tabsheet aber nicht selbst erstellen/konfigurieren soll. Das sollte dann eine Support-Anfrage sein.

Außerdem ist das ja eine organisation Frage - mir ging es ja um das technische Design.

Gruß Igotcha


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 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