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. |