Visual C++ 2010, TFORM, Ereignishandler wird in header Datei genertiert

Gast #1833789
Lesenswert?

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
Persönliche Seite #1833813
Lesenswert?

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!)
Gast #1833893
Lesenswert?

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.
Gast #1833922
Lesenswert?

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
Gast #1833948
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren