Announcement

Collapse
No announcement yet.

Übergabe einer Zeichenfolge von C# an eine C++-DLL

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Übergabe einer Zeichenfolge von C# an eine C++-DLL

    Ich habe eine C++-Klassenbibliothek(DLL) zu schreiben, die von C#-Anwendungen aufgerufen werden soll.
    Bei VS 2005 habe ich die Projekt-Eigenschaft Common Language Runtime-Unterstützung (/clr) gesetzt.

    Code:
    public ref class CCIOCard : public ICIODriver
    {
    	UINT OpenContext(char* pszDriverName ); 
    …
    }
    Nach dem Einbinden in den C#-Treiber unter Verweise erhält die Methode dort eine Signatur mit einem sbyte* Parameter.
    Leider habe ich keine Möglichkeiten gefunden, eine literale Zeichenfolge zu übergeben.
    Code:
            static void Main(string[] args)
            {
                sbyte[] driverName = new sbyte[6];
                string  sdriverName =  "ABCDEF";
                // Kopierroutine ???
     
                CCIOCard MyCard = new CCIOCard();
                UInt32 hndDriver = MyCard.OpenContext(??? driverName ???);
                 …
            }
    Für C# ist der Datentyp sbyte[] nicht mit sbyte* kompatibel.

    Gibt es hier eine einfache Lösung?

    Ich habe beide Seiten in der Hand.

    Tom
Working...
X