Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » CDialog Funktion von externer Klasse aufrufen

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
21.08.2007, 13:16 Uhr
gyrosundmaronen



Tach zusammen..

Ich hab eine Dialogklasse die bestimmte Filme abspielen soll. Welche Filme der Dialog abspielen soll, wird ihm über TCP/IP mitgeteilt.
Dazu wird ein Protokoll ausgewertet, die Kommandos extrahiert und an eine Klasse "CActionControl" geschickt die dann die Kommandos auswertet und an den Dialog "CVisualDlg" weiterleitet.
Wenn ich jetzt versuche in der Klasse CActionControl ein Object von CVisualDlg anzulegen, springt er sofort in den Konstruktor von CVisualDlg
Objekt bilden in CActionControl:

Konstruktor CVisualDlg:

Code:
#include "VisualDlg.h"

void CActionControl::givingCommand(int c_id,int LF,int OL,char VF[128])
{

     CVisualDlg m_visual;

    m_visual.DoCommand(c_id);
}


In DoCommand werden diverse Timer aufgerufen die verschiedene Videos starten.
Konstruktor der Klasse CVisualDlg:


Code:
CVisualDlg::CVisualDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CVisualDlg::IDD, pParent)
{
    //{{AFX_DATA_INIT(CVisualDlg)
    // HINWEIS: Der Klassenassistent fügt hier Member-Initialisierung ein
    //}}AFX_DATA_INIT
    // Beachten Sie, dass LoadIcon unter Win32 keinen nachfolgenden DestroyIcon-Aufruf    //benötigt

    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}



Dort wird irgendwie ein neuer Wert(0x00000000) für CWnd gebildet {CVisualDlg hWnd = ???}. Das Problem ist jetzt das der Eventloop für meinen Timer nicht mehr funktioniert. Jedes mal wenn ein Timer gestartet oder zerstört wird kommt eine Fehlermeldung: Debug Assertion Failed
File:afxwin2.inl Line:171
Ich glaube mal das er die Timer events nicht mehr an das richtige Window schickt oder nicht mehr auf die Klasse CVisualDlg zugreifen kann.
Kann mir jemand sagen woran das liegt oder gibt es noch eine andere Möglichkeit
im Dialog Funktionen aufzurufen.
Danke schon mal im voraus!

Beste Grüsse

gyros

Dieser Post wurde am 21.08.2007 um 17:20 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.08.2007, 22:27 Uhr
~global
Gast


hi, iss ja klar das der da ins leere läuft, deine CVisualDlg instanz lebt auch nur bis ans ende deiner "CActionControl::givingCommand(...)" du müsstest die schon als member machen.
 
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: