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 identifierIrgendwie 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 DLLsMehr 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!