Hallo
DP,
Folgendes Scenario:
Ich schreibe an einem Hauptprogramm und einer Editor-
DLL.
Mein Hauptprogramm lädt ein Dokument aus einer Datenbank und speichert es auf Platte. Dann lädt es dyn. die Editor-
DLL welche dann das Dokument zur Bearbeitung öffnet. Wunderbar, das funktioniert.
Wenn ich das Dokument wieder speichern möchte, habe ich es bis jetzt so gelöst, das die
DLL das Dokument auf die Platte schreibt und danach dem Hauptprogramm per PostMessage eine Nachricht schickt. Bei Empfang der Nachricht kopiert das Hauptprogramm das Dokument wieder in die Datenbank und beendet ggf. die Editor-
Dll.
Um Dokumente zu öffnen nutze ich im Hauptprogramm (m)eine Klasse TMyDoc die im Create die
DLL lädt, im Destroy sie wieder aus dem Speicher entfernt und natürlich die proceduren LoadDoc und SaveDoc.
Das Problem:
Was mir an der ganzes Sache überhaupt nicht gefällt, ist das Senden einer Message von der
DLL ins Hauptprogramm um das Dokument zu speichern. Das ist irgendwie
Dafür muß es doch eine bessere Lösung geben. Könnt ihr mir da helfen?
Voraussetzungen sind aber:
Die
DLL baut keine Verbindungen mit der
DB auf und
Ich kann/darf keinen Speichermanager verwenden.
Ich stelle mir eher sowas vor, dass die Message direkt an die Klasse in der Hauptanwendung geht,
oder das die
DLL die TmyDoc.SaveDoc-Funktion ruft.
Ziel des ganzen soll es werden, das mein Hauptprogramm gleichzeigt mehrere Dokumente öffnen kann, in dem es für jedes Dokumente eine Instanz von TMyDoc erstellt. Ich denke die Idee ist so falsch nicht, oder.
Wie weiß nicht wie man das realisieren kann und hoffe ich könnt mir einen Weg zeigen.
Ich paar Stichworte täten zur Not schon reichen
Grüße
gmc
P.S. Sorry für den Titel, aber es ist schwer für das Problem eine treffsichere Schlagzeile zu finden.