marshaling
-
hallo zusammen
ich habe um eine c++ klasse in c# anzusprechen eine wrapperklasse in c++ implementiert. momentan scheitere ich allerdings an der parameterübergabe eines const char* pointers. also um mal eine frage zu formulieren:
wie kann ich einen c# string marshaln um die c++ funktion anzusprechen? kann ich die Marshal Funktionen des .NET frameworks einbinden, oder hätte ich die wrapper klasse in c# implementieren müssen? ihr seht, ich bin verwirrtvielleicht kann mir ja einer helfen, danke im voraus.
gruss smirre
-
Wenn du den String in Ansi haben willst, dann nimm Marshal.StringToHGlobalAnsi().
Wenn du ihn in Unicode möchtest, dann geht das so:const wchar_t __pin* pinchars = PtrToStringChars(der_string);
-
OK danke erstmal. Das heisst also, dass ich die Marshal Funktionen auch unter C++ ansprechen kann. Kannst du mir einen Tip geben wie das geht? Ich scheiter momentan schon daran überhaupt einen String zu initialisieren den ich der Marshal.StringToHGlobalAnsi() Funktion übergeben könnte.
Gruss smirre
-
hat sich erldedigt, habs hinbekommen