System.IO.Port mit C++ und VS2005



  • Hallo Forum.

    Ich entwickle mit VS2005, und würde gerne in Managed C++ die System::IO::Port benutzen (was neu im .NET Framework 2 ist), bloß scheint es Visual Studio noch nicht zu kennen... muss ich VS irgendwie sagen, dass es das .NET 2 verwendet statt das alte?



  • Du hast wohl das 's' vergessen denn der Namensraum heißt System::IO::Ports

    Bei VS 2005 benutzt du eigentlich automatisch .Net 2.0

    Als kleiner Tip: Wenn du nach Namensräumen oder Klassen suchst gib mal die Tastenkombination strg+alt+j ein oder Ansicht->Objektbrowser anklicken 😉

    BR
    Vinzenz



  • Danke erstmal für die schnelle Antwort.

    Aber dann müsste doch folgendes gehen:

    System::IO::Ports::SerialPort::SerialPort test();

    Ich erhalte aber den Fehler

    error C3083: 'Ports': the symbol to the left of a '::' must be a type

    ??



  • Du hast ein "::SerialPort" zuviel gehabt, da bist du dann schon beim Konstruktor gelandet 😉

    So sollte es aussehen:

    System::IO::Ports::SerialPort test;
    

    BR
    Vinzenz

    //Edit: Natürlich ohne Klammern



  • Hmm,

    also ich habe jetzt folgenden Code:

    int main(int, char **)
    {
    	System::IO::Ports::SerialPort test;
    	System::Console::WriteLine("Hello, World!");
    	return 0;
    }
    

    Die WriteLine-Zeile funktioniert, d.h. also das .NET ist richtig eingebunden. Aber für die SerialPort-Zeile erhalte ich nach wie vor die gleiche Fehlermeldung:

    Kompilieren...
    testSerialPort.cpp
    .\testSerialPort.cpp(7) : error C3083: 'Ports': the symbol to the left of a '::' must be a type
    .\testSerialPort.cpp(7) : error C2039: 'SerialPort' : is not a member of 'System::IO'
    .\testSerialPort.cpp(7) : error C2065: 'SerialPort' : undeclared identifier

    Irgendwie kennt er die Ports vom .NET-Framework gar nicht, oder?

    Vielen Dank für die Hilfe.



  • Du hast aber schon ein CLR (Konsolen-)Projekt gestartet, oder?

    BR
    Vinzenz



  • Ja, das habe ich (/clr, Subsystem Console).



  • atlastraeger schrieb:

    Ja, das habe ich (/clr, Subsystem Console).

    Ich meinte nicht das du das /CLR anschaltest sondern ob du ein CLR Projekt gestartet hast.
    Eventuell fehlen bei dir die richtigen Verweise auf die benötigten DLLs

    Mehr kann ich dazu auch nicht sagen. Ich hatte es bei mir ausprobiert und es hat auf anhieb funktioniert.

    Hier kannst du dir, das was ich aus probiert haben herunterladen:

    http://blog.evilissimo.net/files/temp/serialport.zip

    Edit: Das ist die gesamte Projektmappe aber ohne Binärdateien. (Nur die benötigten Dateien um das Projekt zu kompilieren)

    BR
    Vinzenz

    🙂



  • Oh je,

    ja vielen Dank, also so funktioniert es. Es muss also irgendwie mit den Projekteinstellungen zu tun haben. Na ja, das werde ich schon finden. Also vielen Dank nochmal für die Hilfe!!



  • Kein Problem. Gern geschehen 🙂

    BR
    Vinzenz



  • Du musst einfach die Referenzen aus "system.dll" in Deinem Projekt aufnehmen!


Anmelden zum Antworten