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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top