C++ Problem mit Dialogfenstern

Diskutiere C++ Problem mit Dialogfenstern im Developer Network Forum im Bereich Hardware & Software Forum; Ich muß zu beginn sagen das ich noch absoluter Anfänger in der C++ Programmierung bin, versucht deshalb die Frage möglichst einfach zu...
  • C++ Problem mit Dialogfenstern Beitrag #1
F

Fotsirk

Bekanntes Mitglied
Dabei seit
05.08.2000
Beiträge
225
Reaktionspunkte
0
Ich muß zu beginn sagen das ich noch absoluter Anfänger in der C++ Programmierung bin, versucht deshalb die Frage möglichst einfach zu beantworten!

Ich habe ein Programm mit 2 Dialogfenstern. Von dem einem wird das andere gestartet. Als ich aber ein dritttes Dialogfenster hinzufügen wollte funktionierte plötzlich nichts mehr. Ich habe das 3.Fenster als Variable gekennzeichnet und alles korrekt verbunden, wenn ich es kompiliere zeigt er keine Fehler oder Warnungen an, doch beim Start gibt Windows die Meldung aus "Diese Anwendung wird aufgrund eines unzulässigen Vorgangs geschlossen"
Was hab ich falsch gemacht.
Die Fehlermeldung tritt auf sobald ich das 3. Dialogfenster als Member-Varible gekennzeichnet habe. Wenn ich dann die Variable für das 2. oder das 3. lösche funzt es wieder.
Ich verwende C++ 6.0 Autoren Edition

ES MUß DOCH MÖGLICH SEIN MEHR ALS 2 DIALOGFENSTER ZU STARTEN!!!!
 
  • C++ Problem mit Dialogfenstern Beitrag #2
yks

yks

Bekanntes Mitglied
Dabei seit
21.01.1999
Beiträge
551
Reaktionspunkte
0
Ort
Hamburg
Hi,

etwas genauer musst du mal werden.
Sind die Dialoge modal oder nicht? Welche davon haben das Child-Attribut ( Untergeordnet) ?
Wie stellst du die das ganze vor, d.h. soll zwischen den Dialogen jederzeit gewechselt werden ?

Lege den 3. Dialog mal als Pointervariable an (CMy3Dialog *dlg) und erzeuge das Fenster erst zur Laufzeit mittels "new" und "create".

...yks ;)
 
  • C++ Problem mit Dialogfenstern Beitrag #3
F

Fotsirk

Bekanntes Mitglied
Dabei seit
05.08.2000
Beiträge
225
Reaktionspunkte
0
??? Naja ich kann da keine direkte Auskunft darüber geben.
Ich versuchs mal genauer zu erklären, vielleicht seht ihr die Infos dann.

Also ich ahb ein Hauptdialogfenster von dort ruf ich über einen Button (m_dDialog.DoModal...) das erste Fenster auf. Aus diesen Fenster wollte ich nun entweder gleich ein 2 öffnen (auch wieder mit domodal wobei die Variable für das 3.Fenster innerhalb dieses 2.Fenster definiert ist im Klassen Ansicht Membervariable hinzugefügt, wie bei dem ersten Dialogfenster auch. Wenn ich aber diese 2. Variable hinzufügen gibt Windows nur noch diesen Fehler aus obwohl der Compiler alles einwandfrei kompiliert.
Es wäre auch machbar dieses 3 Dialogfenster aus dem 1. herauszustarten. Aber wenn ich die Variable in der Klasse für das Hauptdialogfenster hinzufüge gibt es den selben Fehler.
Ich hoffe das konnte etwas helfen, denn ich brauch das ganz dringend.
Es muß also nicht zwischen den Fenstern hinundhergewechselt werden eins wird geschlossen ein neues öffnet sich

P.S. Was bewirkt dieses Create und muß ich dazu auch eine Variable für das Fenster definieren. Wenn ja wie????
 
  • C++ Problem mit Dialogfenstern Beitrag #4
yks

yks

Bekanntes Mitglied
Dabei seit
21.01.1999
Beiträge
551
Reaktionspunkte
0
Ort
Hamburg
Hi,

wann genau öffnest du das 3'te und wo im Code ?
Ich glaube das Problem das du hast, liegt in der Initialisierung der Variablen (es bestehen dann noch keine Fenster-Handle).
Versuch mal folgendes. Das dritte öffnest du wie das zweite über ein Button aus dem zweiten. Die Dialogvariable legst du lokal in der Funktion hab. Wenn das ganze klappt, liegt es an den oben genannten Phänomen.
Dann muss du etwas kreativ werden.

"Create" wird benötig, wenn alles dynamisch gehen muss und du brauchst den Zeiger auf den mit "new" angelegten Dialog. "Create" ordnet das Dialog-Template dann der Klasse zu und ich galube das OnInitDialog damit auch ausgelöst wird.

...yks ;)
 
Thema:

C++ Problem mit Dialogfenstern

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.180
Beiträge
1.579.174
Mitglieder
55.879
Neuestes Mitglied
stonetreck
Oben