Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
joerg.roessel Mini JLI'ler
Anmeldedatum: 08.01.2004 Beiträge: 24
Medaillen: Keine
|
Verfasst am: 19.05.2005, 08:05 Titel: Warum funktioniert das nicht? |
|
|
Code: | void Form2::OnButton1()
{
// TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
Form2 fenster;
fenster.CloseWindow();
} |
Bekomme den fehler: Debug Assertation Failed |
|
Nach oben |
|
 |
t10ottoo Senior JLI'ler

Alter: 40 Anmeldedatum: 15.04.2004 Beiträge: 210 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 19.05.2005, 08:14 Titel: Re: Warum funktioniert das nicht? |
|
|
Also du programmierst in C++, ja?
Du willst den Dialog (so heißen die Formen in C++ bzw. MFC oder was auch immer) durch einen Klick auf einen Button schließen?
Dann so:
Code: |
void Form2::OnButton1()
{
// Der aktuelle Dialog wird geschlossen
CDialog::OnOK();
}
|
So, nu gehts aber ab in die Schule...*flitz* _________________ Meine kleine Projekte-Seite |
|
Nach oben |
|
 |
joerg.roessel Mini JLI'ler
Anmeldedatum: 08.01.2004 Beiträge: 24
Medaillen: Keine
|
Verfasst am: 19.05.2005, 10:29 Titel: |
|
|
Danke!
Aber wieso muß ich den da über CDialog:: zugreifen? _________________ MCP, MCDST
www.MCSDboard.de |
|
Nach oben |
|
 |
magynhard Super JLI'ler

Anmeldedatum: 26.04.2003 Beiträge: 461 Wohnort: Wild durch die Welt ;-) Medaillen: Keine
|
Verfasst am: 19.05.2005, 10:55 Titel: |
|
|
Da musst du vermutlich Microsoft fragen.
Was GUI und C++ angeht, empfehle ich sowieso den Borland C++ Builder.
Nachdem ich Visual C++ MFC verwendet hatte und den Borland C++ Builder (VLC) in der Schule verwenden durfte, war der Umstieg sofort geschehen.
Schade, dass sich der gute Borland C++ Builder nicht sehr durchgesetzt hat, mag wohl am schlechten Vertrieb liegen. _________________ Niemand ist hoffnungsloser versklavt als der, der fälschlich glaubt frei zu sein. [J. W. Goethe]
 |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
 |
t10ottoo Senior JLI'ler

Alter: 40 Anmeldedatum: 15.04.2004 Beiträge: 210 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 19.05.2005, 12:44 Titel: |
|
|
joerg.roessel hat Folgendes geschrieben: | Danke!
Aber wieso muß ich den da über CDialog:: zugreifen? |
nepomuk hat Folgendes geschrieben: | Da musst du vermutlich Microsoft fragen. |
Ich glaub, er will wissen, was das bedeutet *g*
Mit CDialog:: rufst du die Funktionen von der Klasse CDialog auf. (glaube, dass es so richtig ist ) _________________ Meine kleine Projekte-Seite |
|
Nach oben |
|
 |
joerg.roessel Mini JLI'ler
Anmeldedatum: 08.01.2004 Beiträge: 24
Medaillen: Keine
|
Verfasst am: 19.05.2005, 12:48 Titel: |
|
|
Und was rufe ich dann mit
Code: | Form2 fenster;
fenster.CloseWindow(); |
auf? _________________ MCP, MCDST
www.MCSDboard.de |
|
Nach oben |
|
 |
t10ottoo Senior JLI'ler

Alter: 40 Anmeldedatum: 15.04.2004 Beiträge: 210 Wohnort: Berlin Medaillen: Keine
|
|
Nach oben |
|
 |
under_construction Junior JLI'ler
Alter: 36 Anmeldedatum: 12.11.2002 Beiträge: 52
Medaillen: Keine
|
Verfasst am: 20.05.2005, 23:49 Titel: |
|
|
Das, was du erstellt hast bringt im Prinzip nichts.
Gehen wir doch mal Schritt für schritt durch:
Deine Klasse heißt Form2.
In der Klasse erstellst du eine Instanz deiner Klasse.
Wahrscheinlich soll, wenn es nach dir geht die Instanz ("fenster") auf die eigentliche Klasse zeigen, das macht sie aber net.
Dann versuchst du dieses leere Objekt einfach zu schließen, obwohl noch net ma irgendwas geöffnet ist. Da is ne Debug Assertation ganz natürlich.
Wenn es richtig gehen soll müsstest du:
das entweder so coden:
Code: |
void Form2::OnButton1()
{
// TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen
this->CloseWindow();
} | (Sofern es die Methode CloseWindow überhaupt gibt)
Heißt also, du greifst direkt von deiner Klasse aus (das this-> kann man übrigens auch weglassen) auf die Funktion zu
ODER
eben die statische Funktion OnOK();
Des is sozusagen die Close-Methode für alle Fenster und ähnliches, weil deine Klasse Form2 ja von CDialog letzten Endes über neun Ecken verwandt also abgeleitet ist.
Ich hoffe ich konnte dir damit helfen! |
|
Nach oben |
|
 |
t10ottoo Senior JLI'ler

Alter: 40 Anmeldedatum: 15.04.2004 Beiträge: 210 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 21.05.2005, 14:29 Titel: |
|
|
under_construction hat Folgendes geschrieben: | (Sofern es die Methode CloseWindow überhaupt gibt)
|
Ja, die gibt es, siehe ein Post über dir. Allerdings ist das nicht die Funktion, die er gesucht hat. Denn er will ja sein Fenster schließen und nicht nur minimieren.
CloseWindow() aber minimiert das Fenster laut MSDN. _________________ Meine kleine Projekte-Seite |
|
Nach oben |
|
 |
Patrick Dark JLI Master

Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
 |
|