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 verwirrt 😉

    vielleicht 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 🙂


Anmelden zum Antworten