C++ Messgerät initialisieren
-
Hallo, liebe C++ Gemeinde
Ich bin neu hier und habe mich einfach mal angemeldet und schon meine erste Frage
Muss aktuell in Physik ein Messgerät-Messer realisieren, sprich ein GUI und entsprechende Funktionen zum Initialisieren des Geräts, Messwerte ausgeben und speichern, etc.
Nunja, bin nicht gerade der Beste in C gewesen, und C++ haben wir nicht durchgenommen im Unterricht, sitze also sozusagen auf alleine in einem untergehenden Boot
Ich stelle einfach mal meine erste Frage
Arbeite mit Visual Studio 2008, bzw muss -.-
Also:
Habe in Form1.h ein Label namens "lbl_ausgabe" erstellt, möchte jetzt in meiner "PhysikMessgerät.cpp" jetzt Text auf dieses Label bei einer if-Abfrage einen Text anzeigen lassen.
Habe also:Form1.h
public: System::Windows::Forms::Label^ lbl_ausgabe;
und:
PhysikMessgerät.cpp:
if (Anweisung)
{
lbl_ausgabe->Text = "Com Port konte nicht initialisiert werden";
}
else
{
lbl_ausgabe->Text = "Initialisierung erfolgreich";
}meine Fehlermeldung ist nun folgende:
.\PhysikMessgerät.cpp(33) : error C2065: 'lbl_ausgabe': nichtdeklarierter Bezeichner .\PhysikMessgerät.cpp(33) : error C2227: Links von "->Text" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. Typ ist ''unknown-type'' .\PhysikMessgerät.cpp(36) : error C2065: 'lbl_ausgabe': nichtdeklarierter Bezeichner .\PhysikMessgerät.cpp(36) : error C2227: Links von "->Text" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. Typ ist ''unknown-type''
Laut meinen Klassenkameraden müsste das eigentlich funktionieren, sogar wenn ich "->" eingebe, sollte eigentlich eine Auswahl erscheinen, jedoch funktioniert das nicht so
Hoffe auf baldige Antworten, werde auch noch ein paar Fragen mehr stellen ^^
Vielen Dank schonmal im vorraus
MFG DeV4der
-
Falsches Forum: Korrekt wäre C++/CLI.
-
Scheint mir nicht zu passen: Form1.h und PhysikMessagerät.cpp sollen ein Zusammenhang haben?
Zeig mal das ganze PhysikMessgerät.cpp.
Simon
-
Dieser Thread wurde von Moderator/in Marc++us aus dem Forum C++ in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
hi, bin ausm urlaub wieder da^^
also hier ist die PhysikMessgerät.cpp// PhysikMessgerät.cpp: Hauptprojektdatei. #include "stdafx.h" #include "Form1.h" #include "windows.h" #include "stdio.h" #include <iostream> using namespace PhysikMessgerät; [STAThreadAttribute] int main(array<System::String ^> ^args) { // Aktivieren visueller Effekte von Windows XP, bevor Steuerelemente erstellt werden Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); CreateDirectoryA("c:\\MultiMeter",NULL); CreateDirectoryA("c:\\MultiMeter\\Exportdaten",NULL); // Hauptfenster erstellen und ausführen Application::Run(gcnew Form1()); HANDLE com; com = CreateFileA( "COM3:", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, NULL); if (com == INVALID_HANDLE_VALUE) { lbl_ausgabe->Text = "Com Port konte nicht initialisiert werden"; } else { lbl_ausgabe->Text = "Initialisierung erfolgreich"; } DWORD dwSetMask = 0x04; DWORD purge = PURGE_RXABORT | PURGE_RXCLEAR | PURGE_TXABORT | PURGE_TXCLEAR; DCB dcb; dcb.DCBlength = sizeof(DCB); GetCommState(com,&dcb); dcb.BaudRate = CBR_2400; dcb.fParity = TRUE; dcb.ByteSize = 7; dcb.StopBits = 0; dcb.Parity = ODDPARITY; dcb.fOutxCtsFlow =FALSE; dcb.fOutxDsrFlow =FALSE; dcb.fDtrControl = DTR_CONTROL_ENABLE; dcb.fDsrSensitivity = FALSE; dcb.fAbortOnError = FALSE; dcb.fOutX = FALSE; dcb.fInX =FALSE; dcb.ErrorChar = FALSE; dcb.fOutxCtsFlow =FALSE; dcb.fNull = FALSE; dcb.fRtsControl = RTS_CONTROL_DISABLE; dcb.XonLim = 512; dcb.XoffLim = 1; dcb.XonChar = 17; dcb.XoffChar = 19; SetCommState(com,&dcb); PurgeComm(com,purge); COMMTIMEOUTS timeout; timeout.ReadIntervalTimeout = 1; timeout.ReadTotalTimeoutConstant = 0; timeout.ReadTotalTimeoutMultiplier = 0; timeout.WriteTotalTimeoutConstant = 0; timeout.WriteTotalTimeoutMultiplier = 0; SetCommTimeouts(com, &timeout); SetupComm(com,2048,2048); return 0; }
-
Du tust Dir keinen gefallen, mit dem was Du machst.... siehe:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-263084.htmlVerwende bitte C# und nimm die System.IO.SerialPort-Klasse...
oder nimm die MFC und verwende
http://www.codeproject.com/KB/system/serial.aspx