Objekt zur Klasse?
-
ich fummele immernoch an der Realisierung meiner PlugIns herum.
Irgendwie hab ich da jetzt aber nen totalen Fehler eingebaut, fürchte ich.
Ich möchte das eine DLL Daten erzeugt (erstmal nur nen Thread der jede Sek Daten erzeugt) und diese dann ans Hauptprogramm (SDI-Anwendung) übergibt, die DLL soll zur Laufzeit ausgewählt und geladen werden.
Dazu habe ich nun eine Methode in CMyDoc erstellt, die einem CArray (Member von CMyDoc) dann die Daten hinzufügt, funktioniert auch, wenn ich es aus ner anderen Funktion der Klasse heraus aufrufe.
Die Adresse dieser Methode übergebe ich jetzt an die DLL, damit die DLL sie dann jede Sekunde aufrufen kann (Callback).Es geht auch alles einzeln einwandfrei, DLL laden, Callback übergeben, Callback aufrufen. Aber sobald die aufgerufene Callback auf die Membervariable zugreift gibt's ne Zugriffsverletzung
Mache ich nur ne MsgBox oder nen Trace geht's einwandfrei.
Ich schätze jetzt, das der Methode die aufgerufen wird einfach das Objekt fehlt und sie deshalb natürlich nicht auf die Membervariable zugreifen kann (steht im debugger nur Mist drin), da eine Klasse ja mehrfach instanziert werden könnte.
Wie bekomme ich das jetzt am elegantesten hin? In der DLL will ich natürlich nicht in die MyDoc-Klasse casten müssen - da anderen Programmieren die ebenfall PlugIns schreiben sollen dieses Header-File natürlich gar nicht haben (sollen), kann ich irgendwie die Adresse auf mein Objekt typenlos übergeben, und darüber hinterher der Klasse irgendwie wieder sagen das an der Stelle das Objekt liegt?
Hmm - versteht überhaupt wer die Frage?