Moge prosić o podpowiedz ?
Projekt w C# "ClassLibrary" eksportuje funkcje z pomocą "DllExport" , drobne schody są tylko z przekazywaniem do C# "callback"-ów
Jak po stronie C# uruchomić funkcję z Delphi/C ?
Po stronie C# nie uzywamy DLLImport tylko DLLExport , czyli strona niezarządzana wywołuje funkcje która ustawia callback
private delegate int Callback(string text);
private static Callback mInstance; // Ensure it doesn't get garbage collected
[DllExport]
static void Set_Callback(Callback OnCallArrived)
{
mInstance = OnCallArrived;
int iii = mInstance("aaaaaaaaaa"); // testuje
Console.WriteLine("iiii=" + iii.ToString());
}
type
TProc2 = function (callData: Widestring): integer; cdecl;
// of object ;
procedure Set_Callback(p_proc: TProc2); cdecl ; external 'TestLibrary.dll';
function test2(p_str: WideString): Integer; cdecl;
begin
Writeln('ddddddddd');
Writeln(p_str);
Result := 9999;
end;
procedure TForm40.Button7Click(Sender: TObject);
begin
Set_Callback(test2); **//ustawiam CALLBACK**
end;