Errore Delphi Applicazione con Ole in una DLL
Domanda
Ho un oggetto COM, setup / creare / lavorando da un DataModule.
la creazione / corsa / liberare la datamodule da un'applicazione funziona con fuori un problema.
, ma mettere il datamodule in una DLL funziona bene la prima volta, runing l'oggetto COM, ecc .. ma dopo un paio di telefonate con fuori riavviare l'applicazione, questo sembra di errore.
immagine Messaggio di errore http://darkaxi0m.name/so/errormessage.GIF
C'è un po 'tariffa di codice in App, quindi non posso postare il tutto, Ho provato MadExcept sia nell'applicazione e Dll, senza fortuna. The Breaks IDE in un punto che non sembra molto aiuto ...
alt text http://darkaxi0m.name/so/cpubreak.gif
Questo è il codice che gestisce l'datamodule, la stessa funzione viene utilizzata per l'applicazione e la DLL in entrambe le prove
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;
mi piacerebbe dare la colpa l'oggetto OLE, ma funziona bene fuori della DLL
Sono in perdita per nemmeno pensare da dove cominciare a cercare.
Soluzione 2
Non credo che questa domanda si può rispondere più. Il progetto è raschiato, e l'oggetto che producono l'errore utilizzato più.
Il mio Elimina Le richieste hanno avuto risposta.
Quindi questo è ora la mia risposta.
Altri suggerimenti
Nel finally
, si sta chiamando Free
, ma dovrebbe chiamare workerDM.Free
.