Delphi Anwendungsfehler mit Ole in einer DLL
Frage
Ich habe ein COM-Objekt, setup / erstellen / von einem Datenmodul arbeiten.
Erstellen / Laufen / aus einer Anwendung die Datamodule befreien arbeitet mit aus einem Thema.
, aber das Datenmodul in eine DLL setzen funktioniert das erste Mal, das COM-Objekt etc .. runing aber nach ein paar Anrufe mit, um die Anwendung neu zu starten, ist dieser Fehler angezeigt.
Fehlermeldung Bild http://darkaxi0m.name/so/errormessage.GIF
Es gibt einen Tarif Stück Code in der App, so dass ich alles schreiben kann nicht, Ich habe versucht, MadExcept sowohl in der Anwendung und DLL, ohne Glück. Die IDE-Breaks an einem Punkt, ... nicht viel Hilfe scheinen
alt text http://darkaxi0m.name/so/cpubreak.gif
Dies ist der Code, dass Griffe der Datamodule, die gleiche Funktion in der Anwendung und die DLL in beiden Tests verwendet wird
function GetAmount( Amount : integer; var Info: PChar): integer; stdcall;
var
tempInfo: string;
workerDM : TworkerDM;
begin
Result := 0;
workerDM := TworkerDM.Create(nil);
try
tempInfo:= Info;
Result := workerDM.GetAmount(Amount, tempInfo);
StrPCopy(Info, tempInfo);
finally
workerDM.Free;
end;
end;
ich möchte das Ole-Objekt schuld, aber es funktioniert gut aus der Dll
ich ratlos bin denken, auch dort, wo zu Beginn der Suche.
Lösung 2
Ich glaube nicht, diese Frage nicht mehr beantwortet werden. Das Projekt hat schäl und das Objekt, das den Fehler nicht mehr verwendet produzieren.
Mein Löschen Anfragen haben gegangen unbeantwortet.
Das ist also nun meine Antwort.
Andere Tipps
In der finally
, die Sie anrufen Free
, sollte aber workerDM.Free
nennen.