Einzelnen Beitrag anzeigen

iceget

Registriert seit: 26. Jan 2015
13 Beiträge
 
#1

Delphi 7 DLL in C# verwenden, Out of Memory Exception

  Alt 4. Jan 2016, 02:29
Hallo liebe Community,

ich habe folgendes Problem:
Ich nutze für das verschlüsseln und entschlüsseln von Strings die Funktionen von einer Delphi Anwendung.

Hier der Delphi Code:
Code:
function Crypt(Input: string; Phrase: string): string;
var
  Cipher: TDCP_blowfish;
  str: string;
begin
  str := '';
  Cipher := TDCP_blowfish.Create(nil);
  Cipher.InitStr(Phrase);
  Cipher.Reset;
  Cipher.Burn;
  Result := Input;
end;
Wenn ich Delphi Funktion via C# aufrufe:
Func("test", out pOut, 1), bekomme ich eine Out Of Memory Exception zurück..

Nun sind wir schon bei meiner Frage:
Wie kann ich auch ein FreeMem ausführen bei der TCDP_Blowfish ver / Entschlüsselung?
Bzw. wenn ich die Funktion Crypt ausführe, füllt sich der Speicher wieder.

Was kann ich dagegen tun? Was muss ich in Delphi anders schreiben?

Ziel sollte es sein das mir die Anwendung nicht immer meinen RAM füllt, und sich dann via System.OutOfMemoryException beendet...

Habe erst heute den gesamten Delphi Quelltext wie auf http://stackoverflow.com/questions/5...ype-in-c-sharp neu geschrieben. Zumindest funktioniert nun die Mode 3 (mit dem String allein)...

Leider bin ich ein blutiger Anfänger.

Ich bedanke mich schon einmal vorweg.
Vielen Dank

Geändert von iceget ( 4. Jan 2016 um 19:24 Uhr) Grund: edit
  Mit Zitat antworten Zitat