Hi,
im Hauptprogramm hab ich eine ZConnection, die wahlweise auf einen Firebird Server oder direkt (Firebird embedded) auf die Datenbankdatei zugreift.
Die Daten der Datenbank werden übers Programm verteilt in Grids usw. angezeigt, bearbeitet.. das übliche halt
Nun möchte ich ein zusätzliches Bearbeitungsfenster einbauen, allerdings nicht direkt ins Programm, sondern in eine
BPL auslagern. Die, die das Fenster brauchen, bekommen die
BPL dann als Plugin.
Jetzt folgende Überlegung: Ich schreibe ein PluginInterface, welches die Kommunikation zwischen dem Programm und dem Plugin steuert. Z.B. könnte ich dann eine Plugin Klasse die das Interface implementiert in der
BPL unterbringen.
Nun lasse ich mir in einem Grid im Hauptprogramm alle Personen anzeigen, wähle eine Person aus und klick von mir aus auf "Sonder-Super-Spezial-Daten bearbeiten". Dabei müsste ich die ZConnection und die ID der Person an das Plugin weitergeben.
Bei der ID sehe ich da keine Probleme, aber kann es bei der ZConnection zu welchen kommen?
Das Plugin würde dann z.B. bestimmte Zusatzdaten zusammenfassen und ebenfalls in einem Grid anzeigen. Eigentlich gehe ich davon aus, dass das alles einwandfrei klappt, auch mit einer Embedded Datenbank, aber ich will da auf Nummer sicher gehen
----
Sollte bis herher alles funktionieren, wie schauts aus wenn Threads im Spiel sind? Also z.b. die Applikation noch einen Thread laufen hat, der ebenfalls über eine ZQuery auf die ZConnection zugreift?
PS: Hauptsächlich geht es mir um die ZConnection, aber auch andere Objeke die hin und her geschoben werden sind mir wichtig, also bitte nicht NUR auf zeos Komponenten beziehen