Hallo,
ich möchte einer Funktion, die sich in einer Dll befindet eine Referenz auf einen String übergeben, der in der besagten Funktion gefüllt/ geändert werden soll. Die Dll erstelle ich selbst unter VC++ 6.0.
Die Funktion habe ich wie folgt definiert:
EXPORT int CALLBACK tbl\_devices(LPSTR device)
Unter VS2005 binde ich die Funktion wie folgt ein:
[DllImport("aaa.dll")]
private static extern int tbl\_dev(StringBuilder dev);
Dann rufe ich die Funktion auf
StringBuilder dev = new StringBuilder("test",4);
int cntDevs = tbl\_dev(dev);
string test = dev.ToString();
Obwohl der String in der Dll- Funktion geändert wird, kommt diese Änderung in meinem C#- Prg nicht an.
Wie übergebe ich eine Referenz auf einen String?
Hab auch schon mit „ref string dev“ erfolglos getestet und bin dann auf den StringBuilder gestoßen. Allerdings auch ohne Erfolg.
Hat jemand ne Idee, wo der Fehler liegt?