[wxWidgets] wxGetApp in mehreren Dateien verwenden



  • Hallo zusammen,

    habe folgendes Problem. Habe eine Datei test.h in der ich eine Klasse abgeleitet von wxApp besitze. In der dazugehörigen Datei test.cpp definiere ich mir entsprechend verschiedene Methoden wie Eventhandling-Sachen, Konsturktoren usw.

    Nun binde ich die test.h - Datei über ein #include in eine seperate Datei "main.cpp". In dieser Datei ist die WinMain - Methode der Anwendung definiert. Damit ich wxWidgets in dieser Datei integrieren und nutzen kann, verwende ich das Makro "IMPLEMENT_AP_NO_MAIN()". In der WinMain-Methode rufe ich dann "wxEntryStart()" auf. Danach kann ich über die Funktion "wxGetApp()" auf das entsprechende Applikationsobjekt der Klasse wxApp zugreifen. Das funktioniert auch!

    Nun möchte ich das Objekt aber auch in anderen Dateien verwenden. Z.B. in einer Datei mit dem Namen "probe.cpp"! Habe versucht mit dem Makro "DECLARE_APP()" es so hinzubiegen, dass ich die Funktion "wxGetApp()" auch in der Datei probe.cpp nutzen kann. Doch leider hat das nicht funktioniert!
    Nun zu meiner Frage:

    Wie kann ich es realisieren, dass ich in anderen Dateien außer der main.cpp auf "wxGetApp" zugreifen kann? Es soll natürlich in allen Dateien dann das gleiche Objekt sein! Wenn ich DECLARE_APP() nutzen muss, kann mir dann einer sagen, wo ich es plazieren muss?

    Ist die Struktur mit IMPLEMENT_APP_NO_MAIN() allgemein so gut gewählt oder kann man dadurch DECLARE_APP() nicht mehr so benutzen wie es eigentlich gedacht ist??

    Vielen Dank für die Antworten
    Gruß


  • Mod

    Hm, hab damit keine praxis erfahrung.
    Aber DECLARE_APP ist imho nur für das App.cpp selber gedacht.

    Evtl. reicht es schon die app.h in die Datei einzubinden.


Anmelden zum Antworten