Einzelnen Beitrag anzeigen

Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#13

AW: Interface- und Klassenstruktur für entkoppelte GUI und Anwendungslogik

  Alt 12. Sep 2018, 20:39
Wie würdet ihr dann den JSON String am besten von der DLL zur Anwendung übertragen? Einfach eine Funktion die einen string respektive PChar liefert, oder gibt es da andere Ansätze?
Nehme den Typ WideString, dass kannst du dann problemlos in anderen Sprachen nutzen (C#/Visual C++ -> BSTR).
WideString hatte ich ausprobiert, als ich eine Funktion aus einer C# DLL aufrufen wollte. Die Funktionen in der C# DLL wurden mit dem Tool UnmanagedExports exportiert. Das hat aber alles nicht funktioniert. Bis ich auf PChar umgestellt hatte. Meine schlussendliche Lösung wie es funktioniert hatte war wie folgt (aus dem Kopf, kann also ein paar kleine Fehler enthalten).

Code:
return: [MarshalAs(UmanagedType.BStr)]
public string TestMethod()
{
    string s = "Test";
    return s;
}
function TestMethod: PChar; stdcall; external 'Test.dll'
  Mit Zitat antworten Zitat