| Autor |
Nachricht |
xenayoo
Mitglied
Benutzerprofil
Anmeldungsdatum: 05.06.2012
Beiträge: 45
|
xenayoo Mitglied
13:48:33 06.07.2012 Titel: |
wxWidgets Anfängerfragen: Wohin mit dem eigenen Programmcode? |
Zitieren |
Hallo,
ich bin rein zufällig über wxWidgets gestolpert. das ist eine feine Sache. Allerdings: Im Gegensatz zu den VisualStudio-Lösungen von M$, gibt es ausschließlich englische Dokumentationen. Und bevor hier die üblichen weisen Ratschläge kommen:
-Ich habe das Tutorial durchgearbeitet (welches übrigens ohne IMPLEMENT_APP() auskommt)-> http://www.wxwidgets.org/docs/tutorials/hello.htm
-Ich habe auch die Artikel im Magazin gelesen.
Hilfreiche Bemerkungen wie "Dann lies dir die Dokumentation XYZ durch" sind oft auch wenig sinnvoll, da dies im Regelfall geschehen ist. Wenn keine Fragen offen geblieben wären, gäbe es keine Forumsbeiträge... ;-)
Rahmenbedingungen: Ich verwende wxDev C++, welches komplett mit integrierten wxWidgets downloadbar ist und einen grafischen Formdesigner beinhaltet. Dieser ist nicht ganz so komfortabel wie sein VS-Pendant, aber er funktioniert mit Einarbeitung. Das Hello World-Programm habe ich erfolgreich erstellt.
Meine Fragen:
-Wenn man ein neues Projekt erstellt und dabei wxFrame-Projekt wählt, legt die IDE 6 Dateien an (Das Projekt heißt angenommenermaßen TestApp)
-TestAppApp.cpp
-TestAppApp.h
-TestAppApp.rc
-TestAppFrm.h
-TestAppFrm.cpp
-TestAppFrm.wxform
Anhand der Endung ist leicht erkennbar, um wass es sich handelt. Trotzdem stehe ich gerade da wie der Ochse vorm Berg.
Heiß es nicht, dass jedes C++ Programm eine Funktion namens Main() hat? Wo ist sie? Zwar habe ich gelesen, dass diese über ein Macro namens IMPLEMENT_APP(TestAppFrmApp) generiert wird, aber wo schreibe ich meinen Programmcode hin?
Danke Jens
PS: Eventuell kann dies zu einem kleinen Tutoriel für die Verwendung von wxWidgets werden. |
|
|
|
 |
xenayoo
Mitglied
Benutzerprofil
Anmeldungsdatum: 05.06.2012
Beiträge: 45
|
xenayoo Mitglied
14:44:15 06.07.2012 Titel: |
|
Zitieren |
Ok, ich geb mir die Antwort selber:
Beispielsweise schreibt man eine eigene Klasse 'MeineKlasse'. Am besten implementiert man 'MeineKlasse' in einer eigenen Datei MeineKalsse.cpp und die Prototypen dazu in MeineKlasse.h
MeineKlasse wird dann in der Funktion
| C++: | 1 2 3 4 5 6 7 8 | bool TestAppFrmApp::OnInit()
{
TestAppFrm* frame = new TestAppFrm(NULL);
SetTopWindow(frame);
frame.Show();
MeineKlasse Instanz = new MeineKlasse(Parameter1 , ...); // <- Hier!
return true;
} | |
instaziert.
Die weiteren Methoden der eigenen Klasse werden z.B. in den Controllelementen aufgerufen, etwa Buttons etc.
In diesem Sinne
Jens
P.S.: Mal sehen, wer den Fehler bemerkt.... |
Zuletzt bearbeitet von xenayoo am 14:46:24 06.07.2012, insgesamt 1-mal bearbeitet |
|
 |
Scorcher24
Mitglied
Benutzerprofil
Anmeldungsdatum: 29.12.2004
Beiträge: 2361
|
Scorcher24 Mitglied
02:01:48 07.07.2012 Titel: |
|
Zitieren |
Gibt im Magazin 2 Artikel dazu. |
_________________ Sometimes it pays to stay in bed in Monday, rather than spending the rest of the week debugging Monday's code. ~Dan Salomon
Meine Projekte
|
|
 |
phlox81
Moderator
Benutzerprofil
Anmeldungsdatum: 21.04.2001
Beiträge: 7365
|
phlox81 Moderator
02:28:33 07.07.2012 Titel: |
|
Zitieren |
|
 |
xenayoo
Mitglied
Benutzerprofil
Anmeldungsdatum: 05.06.2012
Beiträge: 45
|
xenayoo Mitglied
12:51:01 13.07.2012 Titel: |
|
Zitieren |
| phlox81 schrieb: | Hoffe du erzeugst nicht wirklich in einer Funktion lokale Variablen mit new ohne sie wieder freizugeben.
Ansonsten, ja im Magazin stehen dazu 2 gute Artikel... |
That's it. Wenn ich die Instanz lokal erzeug, ist sie natürlich nach Verlassen der Funktion wieder weg! Habe die zwei Artikel gelesen und hatte erst so meine Probleme damit. Später ist mir dann wieder eingefallen, dass es in c' genauso läuft. Die Instanz wird GLOBAL erzeugt und die Memberfunktionen natürlich lokal in den Funktionen von Buttons etc. aufgerufen.
Wie sagt man so schön: Ich sah den Wald vor lauter Bäumen nicht.....
übrigens: In meinem Eigangsposting schrieb ich: Ich habe die 2 Artikel im Magazin gelesen.....
Danke |
Zuletzt bearbeitet von xenayoo am 12:52:37 13.07.2012, insgesamt 1-mal bearbeitet |
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|