Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » [mdi] Methodenaufruf beim Beenden

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.12.2002, 15:11 Uhr
~Christian
Gast


Hallo,

ich möchte eine Methode aufrufe die intern noch etwas regelt bevor die Anwendung geschlossen wird. Dies soll geschen duch "Datei > Beenden" und duchr klicken auf das "X" rechts oben am Fenster.
Mein Problem ist meiner Meinung nach das ich hier etwas an zwei verschiedenen Stellen machen muss.

"Datei > Beenden" kann ich abfangen in dem ich eine Methode hinterlege. Das funktioniert, nur leider wird dann die Anwendung nich mehr geschlossen.

Das "X" kann ich durch abfangen der WM_Close in der CMainFrame abfangen. leider kommt es hier zu iener Speicherverletzung wenn ich versuche in der Onclose() eine Methode der CMyView aufzurufen.

Hat jemand eine Idee wie ich von beiden Positionen aus ("Datei->Beenden" und "X") eine einzige Methode in CMyView aufrufen kann? Voraussetztung ist das nach dem Methodenaufruf die Anwendung geschlossen wird...

Vielen Dank!
Gruß,
Christian

Ps: Die Methode die ich vor dem schließen der anwendung aufrufen möchte schließt lediglich eine andere externe Anwendung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.12.2002, 16:23 Uhr
Tommix



Hallo,
die wahrscheinlich sauberste Methode ist, ExitInstance in der von CWinApp abgeleiteten Klasse zu überladen. Auf die View braucht Du zum schließen einer anderen Anwendung doch nicht zugreifen ??

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.12.2002, 17:09 Uhr
~Christian
Gast


Hallo Tommix,

danke für die hilfe, aber mein Problem hat sich erledigt..
Es reichte die WM_Close MEssage in CMAinFrame abzufangen und dort mit ...


C++:
CMyView *pMyView = (CMyView*)this->GetActiveDocument();
pMaView->OnMethode();



.. meine Methode aufzurufen.
Das ich zum schließen meiner Anwendung nich auf CMyView zugreifen muss ist eigentlich richtig.
Allerdings ist die CMyView die einzige Klasse die den über DDE "Sprechen" kann und somit auch als einzige externe Programme über einen DDE-Kanal Ansprechen bzw. in meinem Fall schließen kann.

Danke trotzdem!
Gruß,
Christian

Dieser Post wurde am 06.12.2002 um 17:55 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: