Delphi Erreur d'application avec Ole dans une DLL
Question
J'ai un objet Com, setup / créer / travail à partir d'un module de données.
création / en cours d'exécution / libérer le datamodule d'une application fonctionne avec sur une question.
mais mettre la datamodule dans une DLL fonctionne très bien la première fois, runing l'objet com etc .. mais après quelques appels avec à redémarrer l'application, cela apparaît d'erreur.
erreur image message http://darkaxi0m.name/so/errormessage.GIF
Il y a un peu de prix de code dans l'application, donc je ne peux pas poster tout, J'ai essayé MadExcept dans l'application et dll, sans chance. Les pauses IDE à un point qui ne semble pas beaucoup d'aide ...
alt texte http://darkaxi0m.name/so/cpubreak.gif
est le code qui gère la DataModule, la même fonction est utilisée dans l'application et la dll dans les deux tests
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;
je voudrais blâmer l'objet Ole, mais il fonctionne très bien de la dll
Je suis à une perte de penser même où commencer à chercher.
La solution 2
Je ne crois pas que cette question peut être répondue plus. Le projet a racler, et l'objet qui produit l'erreur ne sont plus utilisés.
Mon Supprimer Les demandes sont restées sans réponse.
C'est donc maintenant ma réponse.
Autres conseils
Dans le finally
, vous appelez Free
, mais devrait appeler workerDM.Free
.