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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top