Funktion immer wieder aufrufen
-
ok. Dann kommt hier halt der Code:
#include "windows.h" #include <string> #pragma once namespace Ueberwacher { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; /// <summary> /// Zusammenfassung für Form1 /// </summary> public ref class Form1 : public System::Windows::Forms::Form { static System::Windows::Forms::Timer^ myTimer = gcnew System::Windows::Forms::Timer; public: Form1(void) { InitializeComponent(); Main(); // //TODO: Konstruktorcode hier hinzufügen. // } protected: /// <summary> /// Verwendete Ressourcen bereinigen. /// </summary> ~Form1() { if (components) { delete components; } } public: System::Windows::Forms::Button^ button1; System::Windows::Forms::Button^ button2; System::Windows::Forms::Button^ button3; System::Windows::Forms::Label^ label1; private: System::Windows::Forms::Timer^ timer1; public: private: System::ComponentModel::IContainer^ components; private: /// <summary> /// Erforderliche Designervariable. /// </summary> #pragma region Windows Form Designer generated code /// <summary> /// Erforderliche Methode für die Designerunterstützung. /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. /// </summary> void InitializeComponent(void) { this->components = (gcnew System::ComponentModel::Container()); this->button1 = (gcnew System::Windows::Forms::Button()); this->button2 = (gcnew System::Windows::Forms::Button()); this->button3 = (gcnew System::Windows::Forms::Button()); this->label1 = (gcnew System::Windows::Forms::Label()); this->timer1 = (gcnew System::Windows::Forms::Timer(this->components)); this->SuspendLayout(); // // button1 // this->button1->Location = System::Drawing::Point(13, 231); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(75, 23); this->button1->TabIndex = 0; this->button1->Text = L"Pause"; this->button1->UseVisualStyleBackColor = true; this->button1->Click += gcnew EventHandler(this,&Form1::Pause_Weiter); // // button2 // this->button2->Location = System::Drawing::Point(175, 231); this->button2->Name = L"button2"; this->button2->Size = System::Drawing::Size(75, 23); this->button2->TabIndex = 1; this->button2->Text = L"Beenden"; this->button2->UseVisualStyleBackColor = true; this->button2->Click += gcnew EventHandler(this,&Form1::Beenden_Starten); // // button3 // this->button3->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 5, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0))); this->button3->Location = System::Drawing::Point(94, 231); this->button3->Name = L"button3"; this->button3->Size = System::Drawing::Size(75, 23); this->button3->TabIndex = 2; this->button3->Text = L"Noch keine Funktion!"; this->button3->UseVisualStyleBackColor = true; // // label1 // this->label1->AutoSize = true; this->label1->Font = (gcnew System::Drawing::Font(L"Comic Sans MS", 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0))); this->label1->Location = System::Drawing::Point(13, 13); this->label1->Name = L"label1"; this->label1->Size = System::Drawing::Size(53, 23); this->label1->TabIndex = 3; this->label1->Text = L"label1"; // // Form1 // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->BackgroundImageLayout = System::Windows::Forms::ImageLayout::Stretch; this->ClientSize = System::Drawing::Size(265, 266); this->Controls->Add(this->label1); this->Controls->Add(this->button3); this->Controls->Add(this->button2); this->Controls->Add(this->button1); this->Name = L"Form1"; this->StartPosition = System::Windows::Forms::FormStartPosition::CenterScreen; this->Text = L"Überwacher"; this->ResumeLayout(false); this->PerformLayout(); } System::Void Fenster_generieren() { String ^str = ""; StreamReader^ Datei = gcnew StreamReader("Zustand.txt"); bool aktiv = true, pause = false; if (Datei->Peek() != -1) str = Datei->ReadLine(); Datei->Close(); if (str == "Ende") aktiv = false; else if (str == "Pause") pause = true; Fenster_generieren(aktiv, pause); } System::Void Fenster_generieren(bool Programm_aktiv, bool Programm_pausiert) { String ^str = "", ^str2 = "Beenden", ^str3 = "Pause"; if (!Programm_aktiv) { str = "Das Programm läuft nicht!"; str2 = "Starten"; button1->Enabled = false; } else { str = "Das Programm läuft!"; if (Programm_pausiert) { str += "\nDas Programm ist pausiert. Sie\nkönnen nun die Datei bearbeiten!"; str3 = "Weiter"; } button1->Enabled = true; } label1->Text = str; button2->Text = str2; button1->Text = str3; } System::Void Pause_Weiter(System::Object^ Sender, System::EventArgs^ e) { String ^str = ""; StreamWriter^ Zustand; StreamReader^ Datei; Datei = gcnew StreamReader("Pause.txt"); if (Datei->Peek() != -1) str = Datei->ReadLine(); Datei->Close(); Zustand = gcnew StreamWriter("Pause.txt"); if (str != "Stopp") Zustand->Write("Stopp"); else Zustand->Write("Los"); Zustand->Close(); Fenster_generieren(true, str != "Stopp"); } System::Void Beenden_Starten(System::Object^ Sender, System::EventArgs^ e) { String ^str = ""; StreamWriter^ Zustand; StreamReader^ Datei; Datei = gcnew StreamReader("Zustand.txt"); if (Datei->Peek() != -1) str = Datei->ReadLine(); Datei->Close(); if (str == "Läuft...") { Zustand = gcnew StreamWriter("Pause.txt"); Zustand->Write("Ende"); Zustand->Close(); } else { Zustand = gcnew StreamWriter("Pause.txt"); Zustand->Write("Los"); Zustand->Close(); System::Diagnostics::Process::Start("Erinnerer.exe"); } Fenster_generieren(str != "Läuft...", false); } static void TimerEventProcessor( Object^ myObject, EventArgs^ myEventArgs ) { myTimer->Stop(); Fenster_generieren(); myTimer->Enabled = true; } static void Main() { myTimer->Tick += gcnew EventHandler( TimerEventProcessor ); myTimer->Interval = 100; myTimer->Start(); while (true) Application::DoEvents(); } #pragma endregion }; }
alte Fehlermeldung. Und das mit staic weglassen geht nicht! (Sagt mein Compiler)
-
Kannst Du eigentlich nicht einmal machen, was man Dir empfiehlt?
-
Was denn? ich habe bis jetzt alle gemacht, was ihr gesagt habt. Die Klasse zusammen gefasst und sogra versucht die statics weg zumachen, mein compiler sagt aber, dass das nicht geht!
-
theta schrieb:
Und nimm endlich die static's weg!!!
- Erledige das was Du in Form1::Main(..) hast im Form1 Konstruktor.
- Lass das DoEvents weg. Es gibt gute Gründe, dass das nicht gut ist. Ausserdem ist es nicht nötig!
-
Code:
#include "windows.h" #include <string> #pragma once namespace Ueberwacher { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; /// <summary> /// Zusammenfassung für Form1 /// </summary> public ref class Form1 : public System::Windows::Forms::Form { System::Windows::Forms::Timer^ myTimer = gcnew System::Windows::Forms::Timer; public: Form1(void) { InitializeComponent(); Main(); // //TODO: Konstruktorcode hier hinzufügen. // } protected: /// <summary> /// Verwendete Ressourcen bereinigen. /// </summary> ~Form1() { if (components) { delete components; } } public: System::Windows::Forms::Button^ button1; System::Windows::Forms::Button^ button2; System::Windows::Forms::Button^ button3; System::Windows::Forms::Label^ label1; private: System::Windows::Forms::Timer^ timer1; public: private: System::ComponentModel::IContainer^ components; private: /// <summary> /// Erforderliche Designervariable. /// </summary> #pragma region Windows Form Designer generated code /// <summary> /// Erforderliche Methode für die Designerunterstützung. /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. /// </summary> void InitializeComponent(void) { this->components = (gcnew System::ComponentModel::Container()); this->button1 = (gcnew System::Windows::Forms::Button()); this->button2 = (gcnew System::Windows::Forms::Button()); this->button3 = (gcnew System::Windows::Forms::Button()); this->label1 = (gcnew System::Windows::Forms::Label()); this->timer1 = (gcnew System::Windows::Forms::Timer(this->components)); this->SuspendLayout(); // // button1 // this->button1->Location = System::Drawing::Point(13, 231); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(75, 23); this->button1->TabIndex = 0; this->button1->Text = L"Pause"; this->button1->UseVisualStyleBackColor = true; this->button1->Click += gcnew EventHandler(this,&Form1::Pause_Weiter); // // button2 // this->button2->Location = System::Drawing::Point(175, 231); this->button2->Name = L"button2"; this->button2->Size = System::Drawing::Size(75, 23); this->button2->TabIndex = 1; this->button2->Text = L"Beenden"; this->button2->UseVisualStyleBackColor = true; this->button2->Click += gcnew EventHandler(this,&Form1::Beenden_Starten); // // button3 // this->button3->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 5, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0))); this->button3->Location = System::Drawing::Point(94, 231); this->button3->Name = L"button3"; this->button3->Size = System::Drawing::Size(75, 23); this->button3->TabIndex = 2; this->button3->Text = L"Noch keine Funktion!"; this->button3->UseVisualStyleBackColor = true; // // label1 // this->label1->AutoSize = true; this->label1->Font = (gcnew System::Drawing::Font(L"Comic Sans MS", 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0))); this->label1->Location = System::Drawing::Point(13, 13); this->label1->Name = L"label1"; this->label1->Size = System::Drawing::Size(53, 23); this->label1->TabIndex = 3; this->label1->Text = L"label1"; // // Form1 // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->BackgroundImageLayout = System::Windows::Forms::ImageLayout::Stretch; this->ClientSize = System::Drawing::Size(265, 266); this->Controls->Add(this->label1); this->Controls->Add(this->button3); this->Controls->Add(this->button2); this->Controls->Add(this->button1); this->Name = L"Form1"; this->StartPosition = System::Windows::Forms::FormStartPosition::CenterScreen; this->Text = L"Überwacher"; this->ResumeLayout(false); this->PerformLayout(); } System::Void Fenster_generieren() { String ^str = ""; StreamReader^ Datei = gcnew StreamReader("Zustand.txt"); bool aktiv = true, pause = false; if (Datei->Peek() != -1) str = Datei->ReadLine(); Datei->Close(); if (str == "Ende") aktiv = false; else if (str == "Pause") pause = true; Fenster_generieren(aktiv, pause); } System::Void Fenster_generieren(bool Programm_aktiv, bool Programm_pausiert) { String ^str = "", ^str2 = "Beenden", ^str3 = "Pause"; if (!Programm_aktiv) { str = "Das Programm läuft nicht!"; str2 = "Starten"; button1->Enabled = false; } else { str = "Das Programm läuft!"; if (Programm_pausiert) { str += "\nDas Programm ist pausiert. Sie\nkönnen nun die Datei bearbeiten!"; str3 = "Weiter"; } button1->Enabled = true; } label1->Text = str; button2->Text = str2; button1->Text = str3; } System::Void Pause_Weiter(System::Object^ Sender, System::EventArgs^ e) { String ^str = ""; StreamWriter^ Zustand; StreamReader^ Datei; Datei = gcnew StreamReader("Pause.txt"); if (Datei->Peek() != -1) str = Datei->ReadLine(); Datei->Close(); Zustand = gcnew StreamWriter("Pause.txt"); if (str != "Stopp") Zustand->Write("Stopp"); else Zustand->Write("Los"); Zustand->Close(); Fenster_generieren(true, str != "Stopp"); } System::Void Beenden_Starten(System::Object^ Sender, System::EventArgs^ e) { String ^str = ""; StreamWriter^ Zustand; StreamReader^ Datei; Datei = gcnew StreamReader("Zustand.txt"); if (Datei->Peek() != -1) str = Datei->ReadLine(); Datei->Close(); if (str == "Läuft...") { Zustand = gcnew StreamWriter("Pause.txt"); Zustand->Write("Ende"); Zustand->Close(); } else { Zustand = gcnew StreamWriter("Pause.txt"); Zustand->Write("Los"); Zustand->Close(); System::Diagnostics::Process::Start("Erinnerer.exe"); } Fenster_generieren(str != "Läuft...", false); } void TimerEventProcessor( Object^ myObject, EventArgs^ myEventArgs ) { myTimer->Stop(); Fenster_generieren(); myTimer->Enabled = true; } void Main() { myTimer->Tick += gcnew EventHandler( TimerEventProcessor() ); myTimer->Interval = 100; myTimer->Start(); } #pragma endregion }; }
Fehlermeldung:
------ Erstellen gestartet: Projekt: Ueberwacher, Konfiguration: Release Win32 ------ Ueberwacher.cpp c:\dokumente und einstellungen\yannick\eigene dateien\visual studio 2010\projects\errinerer\ueberwacher\Form1.h(20): error C3845: "Ueberwacher::Form1::myTimer": Nur statische Datenmember können innerhalb einer Verweisklasse oder eines Werttyps initialisiert werden. c:\dokumente und einstellungen\yannick\eigene dateien\visual studio 2010\projects\errinerer\ueberwacher\Form1.h(244): error C2660: 'Ueberwacher::Form1::TimerEventProcessor': Funktion akzeptiert keine 0 Argumente c:\dokumente und einstellungen\yannick\eigene dateien\visual studio 2010\projects\errinerer\ueberwacher\Form1.h(244): error C3350: "System::EventHandler": Ein Delegatkonstruktor erwartet 2 Argument(e). ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
-
20: Member-Variablen Initialisation bei der Deklaration geht nur in C#
244: Du rufst hier eine Methode auf und übergibst keine; theta hat es Dir schon gesagt, wie man es richtig macht; ausserdem sind in Deinem Code zig Beispiele dafür drin!Und wenn Du meinen Rat befolgt hättest (im Designer reinziehen), dann hättest Du die ganzen Probleme nicht...
Und damit war das für Dich mein letztes Posting, da Du nicht in der Lage bist zu lesen, relevanten Code zu posten oder sonst irgendwie die anderen Beiträge liest...
-
Problem 1:
public ref class Form1 : public System::Windows::Forms::Form { System::Windows::Forms::Timer^ myTimer; public: Form1(void) { InitializeComponent(); myTimer = gcnew System::Windows::Forms::Timer(components); Main(); // //TODO: Konstruktorcode hier hinzufügen. // } // ... }
Dieses Problem hättest Du nicht gehabt, wenn Du, wie Jochen gesagt hat, den Timer als Komponente im Designer hinzugefügt hättest.
Problem 2 + 3:
void Main() { myTimer->Tick += gcnew EventHandler(this, &Form1::TimerEventProcessor); myTimer->Interval = 100; myTimer->Start(); }
Ausserdem würde ich den Code aus Main direkt im Konstruktor von Form1 plazieren oder mindestens die Methode in z.B. setupTimer(..) umbenennen.
Simon
Edit
Jochen schrieb:
Und damit war das für Dich mein letztes Posting, da Du nicht in der Lage bist zu lesen, relevanten Code zu posten oder sonst irgendwie die anderen Beiträge liest...
Dem schliesse ich mit auch gleich an.
-
Nein, funktioniert nicht!
kommt ne Fehlermeldung, die in der Hauptdatei aufgerufen wird:
Es ist ein Fehler aufgetreten. (Das ist ist von mir!) System.ArgumentNullException: Der wert darf nivht NULL sein. (...)Zeile 27(...)
Hier der Rest:
#include "windows.h" #include <string> #pragma once namespace Ueberwacher { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; using namespace System::IO; /// <summary> /// Zusammenfassung für Form1 /// </summary> public ref class Form1 : public System::Windows::Forms::Form { System::Windows::Forms::Timer^ myTimer; public: Form1(void) { InitializeComponent(); myTimer = gcnew System::Windows::Forms::Timer(components); myTimer->Tick += gcnew EventHandler(this, &Form1::TimerEventProcessor); myTimer->Interval = 100; myTimer->Start(); // //TODO: Konstruktorcode hier hinzufügen. // } protected: /// <summary> /// Verwendete Ressourcen bereinigen. /// </summary> ~Form1() { if (components) { delete components; } } public: System::Windows::Forms::Button^ button1; System::Windows::Forms::Button^ button2; System::Windows::Forms::Button^ button3; System::Windows::Forms::Label^ label1; private: System::Windows::Forms::PictureBox^ pictureBox1; public: private: System::ComponentModel::IContainer^ components; private: /// <summary> /// Erforderliche Designervariable. /// </summary> #pragma region Windows Form Designer generated code /// <summary> /// Erforderliche Methode für die Designerunterstützung. /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. /// </summary> void InitializeComponent(void) { this->button1 = (gcnew System::Windows::Forms::Button()); this->button2 = (gcnew System::Windows::Forms::Button()); this->button3 = (gcnew System::Windows::Forms::Button()); this->label1 = (gcnew System::Windows::Forms::Label()); this->pictureBox1 = (gcnew System::Windows::Forms::PictureBox()); (cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox1))->BeginInit(); this->SuspendLayout(); // // button1 // this->button1->Location = System::Drawing::Point(13, 231); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(75, 23); this->button1->TabIndex = 0; this->button1->Text = L"Pause"; this->button1->UseVisualStyleBackColor = true; this->button1->Click += gcnew EventHandler(this,&Form1::Pause_Weiter); // // button2 // this->button2->Location = System::Drawing::Point(175, 231); this->button2->Name = L"button2"; this->button2->Size = System::Drawing::Size(75, 23); this->button2->TabIndex = 1; this->button2->Text = L"Beenden"; this->button2->UseVisualStyleBackColor = true; this->button2->Click += gcnew EventHandler(this,&Form1::Beenden_Starten); // // button3 // this->button3->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 5, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0))); this->button3->Location = System::Drawing::Point(94, 231); this->button3->Name = L"button3"; this->button3->Size = System::Drawing::Size(75, 23); this->button3->TabIndex = 2; this->button3->Text = L"Noch keine Funktion!"; this->button3->UseVisualStyleBackColor = true; // // label1 // this->label1->AutoSize = true; this->label1->Font = (gcnew System::Drawing::Font(L"Comic Sans MS", 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0))); this->label1->Location = System::Drawing::Point(13, 13); this->label1->Name = L"label1"; this->label1->Size = System::Drawing::Size(53, 46); this->label1->TabIndex = 3; this->label1->Text = L"label1\nlol"; // // pictureBox1 // this->pictureBox1->Location = System::Drawing::Point(13, 62); this->pictureBox1->Name = L"pictureBox1"; this->pictureBox1->Size = System::Drawing::Size(237, 163); this->pictureBox1->SizeMode = System::Windows::Forms::PictureBoxSizeMode::CenterImage; this->pictureBox1->TabIndex = 4; this->pictureBox1->TabStop = false; // // Form1 // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->BackgroundImageLayout = System::Windows::Forms::ImageLayout::Stretch; this->ClientSize = System::Drawing::Size(265, 266); this->Controls->Add(this->pictureBox1); this->Controls->Add(this->label1); this->Controls->Add(this->button3); this->Controls->Add(this->button2); this->Controls->Add(this->button1); this->Name = L"Form1"; this->StartPosition = System::Windows::Forms::FormStartPosition::CenterScreen; this->Text = L"Überwacher"; (cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->pictureBox1))->EndInit(); this->ResumeLayout(false); this->PerformLayout(); } System::Void Fenster_generieren() { String ^str = ""; StreamReader^ Datei = gcnew StreamReader("Zustand.txt"); bool aktiv = true, pause = false; if (Datei->Peek() != -1) str = Datei->ReadLine(); Datei->Close(); if (str == "Ende") aktiv = false; else if (str == "Pause") pause = true; Fenster_generieren(aktiv, pause); } System::Void Fenster_generieren(bool Programm_aktiv, bool Programm_pausiert) { String ^str = "", ^str2 = "Beenden", ^str3 = "Pause"; if (!Programm_aktiv) { str = "Das Programm läuft nicht!"; str2 = "Starten"; button1->Enabled = false; } else { str = "Das Programm läuft!"; if (Programm_pausiert) { str += "\nDas Programm ist pausiert. Sie\nkönnen nun die Datei bearbeiten!"; str3 = "Weiter"; } button1->Enabled = true; } label1->Text = str; button2->Text = str2; button1->Text = str3; } System::Void Pause_Weiter(System::Object^ Sender, System::EventArgs^ e) { String ^str = ""; StreamWriter^ Zustand; StreamReader^ Datei; Datei = gcnew StreamReader("Pause.txt"); if (Datei->Peek() != -1) str = Datei->ReadLine(); Datei->Close(); Zustand = gcnew StreamWriter("Pause.txt"); if (str != "Stopp") Zustand->Write("Stopp"); else Zustand->Write("Los"); Zustand->Close(); Fenster_generieren(true, str != "Stopp"); } System::Void Beenden_Starten(System::Object^ Sender, System::EventArgs^ e) { String ^str = ""; StreamWriter^ Zustand; StreamReader^ Datei; Datei = gcnew StreamReader("Zustand.txt"); if (Datei->Peek() != -1) str = Datei->ReadLine(); Datei->Close(); if (str == "Läuft...") { Zustand = gcnew StreamWriter("Pause.txt"); Zustand->Write("Ende"); Zustand->Close(); } else { Zustand = gcnew StreamWriter("Pause.txt"); Zustand->Write("Los"); Zustand->Close(); System::Diagnostics::Process::Start("Erinnerer.exe"); } Fenster_generieren(str != "Läuft...", false); } void TimerEventProcessor( Object^ myObject, EventArgs^ myEventArgs ) { myTimer->Stop(); Fenster_generieren(); myTimer->Enabled = true; } #pragma endregion }; }
Danke schon mal im Voraus!
-
Tja,
von Jochen und theta wirst du wohl nichts mehr hören...
und von mir auch nur soviel, daß ich dir rate ersteinmal mit C# anzufangen.Den Link von Jochen bzgl. C++/CLI und WinForms kennst du ja wahrscheinlich schon -)
Dir fehlen einfach die elementaren Grundkenntnisse des Programmierens (mit OOP, d.h. Klassen, Member, Methoden, etc.). Und dafür ist es besser, wenn du C# benutzt, da dessen Syntax einfacher ist (und der Designer auch bessere Unterstützung anbietet, z.B. die Aufteilung der Form-Klasse in zwei Dateien: MyForm.cs und MyForm.designer.cs).
Und dann programmiere die ersten 3-5 Projekte ersteinmal nur mit einer Konsolenapplikation (bis du die sprachlichen Mittel der Sprache C# im Schlaf kannst) und dann kannst du zu einer WinForms-Anwendung wechseln und nochmal bei Fragen einen neuen Beitrag im C#-Unterforum stellen...
Bis dahin Viel Erfolg
-
Ich habe im Standard C++ schon einige Erfahrung. Nur C++/CLI ist absolutes Neuland für mich. Ich fände es von daher nicht schlecht, wenn ihr mir gegenüber auch nur ein winziges Bisschen Geduld zeigen könntet.
Wie es schon in einigen Threads geheißen hat, ist C++ und C++/CLI was völlig Verschiedenes. Ich habe auch ein Buch, mit dem ich C++/CLI lernen will, aber solche Sachen stehen da gar nicht drin! ich fände es deshalb sehr nett von euch, wenn ihr mir weiterhelfen könntet.ich sehe absolut keinen Sinn 1. eine neue Sprache zu lernen und 2. deshalb 2 Projekte komplett neu zu gestalten!
Ich hoffe ihr versteht das.
-
Genau C++/CLI ist eine neue Sprache und es macht viel mehr Sinn C# zu lernen
Außerdem gibst es kaum C++/CLI-Experte. Aber wesentliche mehr Leute die sich mit C# auskennen.
Vielleicht solltest du dir es nochmal überlegen.
-
Ich sitze schon seit 2 Wochen daran! Das ist für mich definitiv zu viel.
Ich brauch eure Hilfe. ich hoffe mal, dass diese Fehlermeldung die letzte war! Und deshalb noch mal einen Lösungsansatz.Danke schon mal im Voraus.
-
Ich bin auch von C++ gekommen und hab dann mal mit C++/CLI weitergemacht. Das war ein Fehler, den ich viel zu spät bemerkt habe. Das Leben ist soviel einfacher mit C#. Ich denke, dass sich die Zeit, deine Projekte nach C# zu übertragen, lohnen würde, erst recht, da du nun schon seit 2 Wochen an einem Problem sitzt, dass du mit C# wohl nicht hättest.
-
Und wenn du doch lieber bei C++ bleiben willst und damit GUIs erstellen willst, dann nimm lieber eines dieser Frameworks: [HOWTO] Welches Toolkit für GUIS?
-
Argus Magnus schrieb:
Ich bin auch von C++ gekommen und hab dann mal mit C++/CLI weitergemacht. Das war ein Fehler, den ich viel zu spät bemerkt habe. Das Leben ist soviel einfacher mit C#. Ich denke, dass sich die Zeit, deine Projekte nach C# zu übertragen, lohnen würde, erst recht, da du nun schon seit 2 Wochen an einem Problem sitzt, dass du mit C# wohl nicht hättest.
Neine ich hänge nicht seit 2 Wochen an einem Problem, das ist erst seit 5 Tagen so (immer wieder neue Probleme).
Das Blöde an der Sache ist, dass ich diesen fehlerhaften Code von euch erhalten habe. Mein ganzes restliches Projekt läuft einwandfrei.Wenn ihr wollt, kann ich euch mal die Codes von sämzlichen Dateien zeigen. Ich komm locker auf 10.000 Zeichen in allen Projekten und Dateien.
Könnt ihr wir wenigstens dieses eine Problem lösen? Ich denke das wird das letzte sein!
-
Das Blöde an der Sache ist, dass ich diesen fehlerhaften Code von euch erhalten habe. Mein ganzes restliches Projekt läuft einwandfrei.
Hallo?
Wenn ihr wollt, kann ich euch mal die Codes von sämzlichen Dateien zeigen. Ich komm locker auf 10.000 Zeichen in allen Projekten und Dateien.
Verschon uns bloss.
Könnt ihr wir wenigstens dieses eine Problem lösen?
Wenn Du auch nur einen funken Verstand hättest, würdest Du das Problem selbst finden. BTW: das Problem ist aus dem Code, den Du uns gezeigt hast klar ersichtlich... aber ich müh mich nicht mehr ab, nur damit dann (weil Du geschlampt hast) wieder einen Fehler einbaust.
Ich denke das wird das letzte sein!
Jaja.. klar.
Edit:
Achja.. eigentlich kannst Du nur ein Troll sein.
-
Im Moment ist mein Hirn zu!
Ich hab' Grippe! Ich könnte mir das Teil stundenlang anschauen und würd's nicht finden. Die einzige Möglichkeit, die ich sehe, ist:
myTimer = gcnew System::Windows::Forms::Timer();
anstatt:
myTimer = gcnew System::Windows::Forms::Timer(components);
Mehr Ideen habe ich nicht!
-
Dein Problem.
-
theta schrieb:
Dein Problem.
Sehr nett!
-
Die erinnerung schrieb:
theta schrieb:
Dein Problem.
Sehr nett!
Schicken wir sein Satz durch den Nettiqator: Schalt dein Rechner aus und geh ins Bett um dich richtig zu Erholen - Macht doch kein Sinn wenn du dich jetzt quälst!