Hallo. Ich bin gerade dabei eine kleine TForm mit Visual C++ zu erstellen. Ich habe da nun eine Frage. Ich habe dazu zunächst einen Button auf meine TFORM.h[Entwurf] gezogen. Ich möchte nun eine Handle für diesen Button erzeugen. Dafür mach ich eine Doppelklick auf meine Button Element und es öffnet sich die Funktion: private: System::Void dateTimePicker1_ValueChanged(System::Object^ sender, System::EventArgs^ e) { } Was ich jetzt nicht verstehe, wieso wird diese Funktion in der Header datei erzeugt nun nicht im cpp File? Ich habe auch versucht die Funktion zu verschieben, in die cpp Datei. Das funktionert allerdings nicht. Ist das eine Einstellungsache? Oder muss ich meinen Code in die Header-datei schreiben? Oder habe ich die Funktion nur an die falsche Stelle geschrieben in der cpp Datei? Könnt ihr mir einen Tipp geben? Danke
Das ist nicht C++. Das ist die Neuauflage der MS-Perversion "Managed C++", die jetzt als "C++/CLI" auf das .Net-Geraffel draufgepfropft wird. Mit C++ hat das nicht viel zu tun. MS hat sehr merkwürdige Vorstellungen, wo Code wie Dein Ereignishandler (nicht: "handle"!) unterzubringen ist. > Ich habe auch versucht die Funktion zu verschieben, in die cpp Datei. > Das funktionert allerdings nicht. Hast Du das so gemacht? Headerdatei:
1 | private: System::Void dateTimePicker1_ValueChanged(System::Object^ sender, System::EventArgs^ e); |
(Funktionsrumpf durch Semikolon ersetzen) Implementierung
1 | System::Void KLASSE::dateTimePicker1_ValueChanged(System::Object^ sender, System::EventArgs^ e) |
2 | {
|
3 | }
|
(Natürlich anstelle von "KLASSE" den Namen Deiner Klasse eintragen!)
Ich habe es jetzt danke.
Habe mich geirrt. Funktioniert doch noch nicht. Nochmal: Header Datei: private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { } Implementierung: void button1_Click(System::Object^ sender, System::EventArgs^ e) { Application::Exit(); } Das läßt sich Fehlerfrei ausführen. Leider funktioniert das Klicken auf den Button nicht.
Hi SKM, lies doch mal den Post von Rufus von 9:33 Uhr GENAU durch. Wo liegt der Unterschied zu Deiner Variante? Speziell der Teil, der in der Header-Datei stehen muß ist interessant... Gruß Markus
Semikolon fehlt bei mir. Aber den Code in der Header Datei hat Visual C++ erzeugt nach dem Doppelklick auf den Button. Oder was ist noch anders?
Du hast doch selbst geschrieben, dass Du den Code vom Header-File in das cpp-File verschieben möchtest. In Rufus Post ist angegeben, wie der Code im Headerfile GENAU auszusehen hat, nämlich mit Semikolon anstelle des Funktionsrumpfes {}. Die Implementierung im cpp-File enthält dann wiederum den Funktionsrumpf mit {} anstelle des Semikolons. Gruß Markus
Wie es immer heißt. Wer lesen kann ist klar im Vorteil. Danke
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.