Hallo liebe Forumsmitglieder! Ich habe ein, ich denke leider ziemlich spezielles, Problem mit dem RADStudio/Compiler/Linker von Embarcadero oder der MSP430.dll von Elpotronic. Ich versuche das Problem erst einmal etwas allgemeiner zu halten, vielleicht erinnert sich ja einer an eine ähnliche Situation? Ich nutze besagte MSP430.dll von Elpotronic um auf deren Programmieradapter zugreifen zu können. Ich habe eine Klasse (ich nenne sie Kernel) geschrieben die als einzige mit den DLL-Funktionen arbeitet. Es gibt eine einzige Instanz dieser Klasse in meinem Programm. Diese Instanz wird von meinem Hauptfenster genutzt und funktioniert dort inzwischen auch ohne größere Probleme, der Programmer von Elpotronic macht was ich mir vorstelle. Nun habe ich aber noch einen Extra-Dialog erstellt in dem auf die selbe Kernel-Instanz zugegriffen wird. Ich übergebe den Zeiger auf die Klasse in den Dialog. Jedoch verhalten sich nun diese Klasse/die DLL-Aufrufe nicht genauso wie im Hauptfenster - es gibt einen Fehler beim Aufruf verschiedener DLL-Funktionen. Ich verzweifle Inzwischen an dem Problem - hat irgendjemand eine Idee was dazu führen kann, dass sich eine Instanz in dem einen Dialog so und in dem anderen Dialog anders verhält? Mein Verdacht geht ja hin zur DLL und dass die DLL für jeden Dialog neu geladen wird und bestimmte Informationen verloren gehen - wie kann ich sowas debuggen? Ich hoffe das Problem einigermaßen verständlich formuliert zu haben! Viele Grüße! Torsten
> Nun habe ich aber noch einen Extra-Dialog erstellt in dem auf die selbe > Kernel-Instanz zugegriffen wird. Ich übergebe den Zeiger auf die Klasse > in den Dialog. du meinst bestimmt ein zeiger auf das Objekt - nicht auf die Klasse. Die dll wird ja nur vom dem Kernel geladen, damit ist es doch egal ob ein Dialog geöffnet wird oder nicht. Bist du sicher das du nicht irgendwo eine Kopie vom dem Kernel-Objekt anlegst, und diese dann über den Destruktor beendet wird? Zur Sicherheit den Kopiekontructor Private machen, auch den Zuweisungs operator geleich mit. Arbeitest du mit Threads? Wenn ja alles threadsicher gemacht?
Danke für die schnelle Antwort! Ich meinte natürlich das Objekt, nicht die Klasse. Die Adressen vom Kernel-Objekt sind in beiden Dialogen gleich, nur die Funktionalität scheinbar eine andere :-( Da die Adressen gleich sind, gehe ich davon aus, dass es sich um das selbe Objekt handelt. Ich arbeite ohne Threads :-/ Viele Grüße, Torsten
Hat denn niemand eine Idee, ist niemandem sowas ähnliches schon mal passiert? :-( Grüße, Torsten
Torsten M. schrieb: > Hat denn niemand eine Idee Wo ist der Code? Deine Beschreibung ist Dein Wunsch, die Umsetzung kann abweichen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.