Tja, da mir das Projekt bzw. die
DLL nicht vorliegen, könnte ich nur weiter ins Blaue hinein raten. Ich selbst hatte noch nie Probleme mit einer Datenbankverbindung aus einer
DLL heraus. Allerdings erzeuge ich in DLLs alle benötigten Komponenten.
Vielleicht schaufelst du ja auch Strings zwischen irgend einer
Unit und deiner
DLL hin und her, ohne ShareMem eingebunden zu haben:
Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL. Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-Informationen als PChar- oder ShortString-Parameter übergeben.
Wie hast du es umgesetzt, eine Formular-
Unit als
DLL zu verwenden?
Wie gesagt, die mageren Informationen, die du lieferst, genügen nicht, um hier sinnvolle Fehlersuche zu betreiben. Man erfährt ja nicht einmal, an welcher Stelle genau der Fehler
EOleException 'Read-only property value was not set' auftritt, bei welchem
Open und was es mit diesem Read-Only-Property auf sich hat. Was passiert, wenn du diesem Read-Only-Property einen Wert zuweist?