Error de aplicación Delphi con Ole en un DLL
Pregunta
Tengo un objeto COM, ajustes / crear / trabajo de un módulo de datos.
creación / ejecución / liberar el módulo de datos desde una aplicación funciona con una emisión.
pero poniendo el módulo de datos en un archivo DLL funciona bien la primera vez, runing el objeto COM, etc .. pero después de unas cuantas llamadas a cabo reiniciar la aplicación, esto parece de error.
imagen Mensaje de error http://darkaxi0m.name/so/errormessage.GIF
Hay un poco de tarifas de código en la aplicación, así que no puedo publicar todo, He tratado MadExcept tanto en la aplicación y DLL, sin suerte. Ya rompe el IDE en un punto que no parece de mucha ayuda ...
alt text http://darkaxi0m.name/so/cpubreak.gif
este es el código que se encarga de la DataModule, la misma función se utiliza en la aplicación y la DLL en ambas pruebas
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;
Me gustaría echarle la culpa al objeto OLE, pero funciona muy bien fuera de la DLL
Estoy en una pérdida para siquiera pensar dónde empezar a buscar.
Solución 2
No creo que esta pregunta puede responderse más. El proyecto ha ser raspada, y el objeto que producen el error ya no se utiliza.
Mi Eliminar Las solicitudes no han recibido respuesta.
Así que ahora es mi respuesta.
Otros consejos
En el finally
, que está llamando Free
, pero debe llamar workerDM.Free
.