wxWidgets Problem beim Erstellen eines neuen Fensters
-
Um mich in wxWidgets einzuarbeiten, bin ich dabei ein kleines Dialogbasierendes Programm zu entwerfen.
Das soll einfach ein paar Zahlenwerte berechnen, und funktioniert soweit auch einwandfrei.
Jetzt möchte ich aber errechnete Werte in eine Art Notizblock schreiben lassen.Dazu soll beim auslösen eines Buttons "notieren" ein neues Fenster geöffnet, und die aktuellen Werte übergeben werden. Beim erneuten Auslösen, sollen nur noch die Werte übergeben werden, und sich natürlich kein neues Fenster öffnen.
Ich dachte dabei an ungefähr folgende Lösung:
int notizzustand =0; void Simple::notiz2ID(wxCommandEvent &event) { if (notizzustand == 0) { notizK *notizBlock = new notizK(wxT("Notierte Werte")); notizzustand =1; } notizBlock->schreiben(); }
Allerdings erkennt der Compiler die neue Klasseninstanz (natürlich?) nicht an, wenn sie in so einer if Abfrage erstellt wurde.
error C2065: 'notizBlock': nichtdeklarierter Bezeichner
Auch alle anderen Lösungsversuche sind bisher fehlgeschlagen.
Warscheinlich sehe ich den Wald vor lauter Bäumen nicht, und der Fehler ist einfach zu finden, aber ich stehe einfach gerade auf dem Schlauch.
Da ich bei wxWidgets noch nicht viel Erfahrung habe, weiss ich nicht ob man das auch anders, bzw. viel einfacher lösen kann.Danke schonmal für Hinweise
ps. Ich nutze zur Zeit VS2008 Express
-
Hallo,
mach die deklaration deines Notizblocks zu einer Membervariable der Klasse Simple.
Den Notizzustand brauchst du gar nicht mal den du kannst ja einfach über die Funktion IsShown prüfen ob das Fenster angezeigt wird oder nicht (vorher muß natürlich eine Instanz der Klasse notizK existieren).
-
Danke schonmal.
Ich versuche es mal auf diese Art, sobald mich das VS wieder mag.
(Zur Zeit weigert es sich hartnäckig das Projekt zu linken)
-
Andi79 schrieb:
Danke schonmal.
Ich versuche es mal auf diese Art, sobald mich das VS wieder mag.
(Zur Zeit weigert es sich hartnäckig das Projekt zu linken)Kein Problem, meld dich einfach wenn du soweit bist.
-
Ok, jetzt passt es.
Mein Problem war eigentlich keines.
Ich wollte das Erstellen des Fensters, und das '->Show' getrennt anwenden, was sinnlos war.
Jetzt muss ich nur noch herausfinden wie ich die Daten von einem Fenster ins andere geschoben bekomme...
-
Andi79 schrieb:
Jetzt muss ich nur noch herausfinden wie ich die Daten von einem Fenster ins andere geschoben bekomme...
Das ganze kannst du mit Getter und Setter Methoden machen...