Hallo,
auch wenn ich mich erst jetzt der Sache anschließe, habe ich damit folgendes Problem:
Ich generiere im "DLL_PROCESS_ATTACH" - Abschnitt das Datenmodul incl. CoInitialize(nil).
Im "DLL_PROCESS_DETACH" möchte ich es wieder freigeben. Leider führt dies aber zum Fehler.
Lasse ich der Freigabe (Datenmodul.Free) weg, funktioniert es unter NT/
W2k aber bei XP gibt
es eine Fehlermeldung (Datenmodul wird mit nil erzeugt). Die Fehlermedlung verweist auf die
MSDART.DLL mit der anschließenden super Fehlermeldung '216'. Im OnDestroy-Ereignis des
Datenmoduls gebie ich nur meine Objekte frei, das scheint auch noch zu funktionieren,
da der Fehler nach dem Verlassen der Procedure auftritt. Nur habe ich doch keine andere
Möglichkeit das Modul freizugeben. Die
Unit "ShareMem" muß doch nur eingebunden werden,
wenn man z.B. Strings und TStrings und der gleichen mit der Applikation austauschen will ?
Noch 'ne Frage:
Delphi-Quellcode:
function DBUnInit: boolean; stdcall;
begin
Result := true;
bDoCoUninitialize := false;
bDoDestroyDM_ADO := false;
try
if bDoDestroyDM_ADO then
MyDatemodul.Free;
if bDoCoUninitialize then
CoUninitialize; -> das wird doch nie ausgeführt ?
except
Result := false;
end;
end;
Ich hoffe, jemend kann mir einen Tipp geben - Danke ??
Es ist besser, den Kopf über den Aufgaben und nicht die Aufgaben über den Kopf wachsen zu lassen.