Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#7

AW: Weitergabe eines Strings über Pointer funktioniert nicht - manchmal...

  Alt 29. Mai 2021, 18:33
Genau wegen deiner Problem habe ich eine Wrapper.dll in C# geschrieben die man einfach als Verweis in C# einbinden kann.

Diese regelt dann die Kommunikation zwischen der Delphi.dll -> Wrapper.dll - Anwendung in C#.

Somit konnte ich auf beide Varianten des Codes Einfluß nehmen (UnmanagedType und managedType)
Zudem habe ich alle Strings aus Delphi als PWideChar übergeben. Nicht als PChar !

Delphi..
Pluginfile : PWideChar;

C# Wrapper
Code:
    [MarshalAs(UnmanagedType.BStr)]
    public string PluginFile = string.Empty;
Nur so als Anregung.
Zitat:
Achte darauf, das du auch einen Unicode-String in Form von PWideChars zurückgibst, das erspart dir weitere Kopfschmerzen: In C# ist jeder String automatisch Unicode.
https://im-coder.com/wie-verwenden-v...-typ-in-c.html
OK bin raus

Geändert von venice2 (29. Mai 2021 um 18:51 Uhr)
  Mit Zitat antworten Zitat