Einzelnen Beitrag anzeigen

Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#1

Datenbankbasierte Tabsheets erstellen

  Alt 8. Nov 2004, 09:23
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
  Mit Zitat antworten Zitat