Aktive X Steuerelement



  • Wenn ich Debbug Modus starte, bis "dlg.DoModal()" ist alles inordnung aber ab "dlg.DoModal()" läuft es nicht weiter.
    Wenn ich in DoModal() funktion reingehe,unten bei der Zeile 38 und 39 bleibt mein Pfeil stehen und läuft nicht weiter also dann kann ich nur mit Task Manager mein Program beenden.

    int CDialog::DoModal()
    {
    	// can be constructed with a resource template or InitModalIndirect
    	ASSERT(m_lpszTemplateName != NULL || m_hDialogTemplate != NULL ||
    		m_lpDialogTemplate != NULL);
    
    	// load resource as necessary
    	LPCDLGTEMPLATE lpDialogTemplate = m_lpDialogTemplate;
    	HGLOBAL hDialogTemplate = m_hDialogTemplate;
    	HINSTANCE hInst = AfxGetResourceHandle();
    	if (m_lpszTemplateName != NULL)
    	{
    		hInst = AfxFindResourceHandle(m_lpszTemplateName, RT_DIALOG);
    		HRSRC hResource = ::FindResource(hInst, m_lpszTemplateName, RT_DIALOG);
    		hDialogTemplate = LoadResource(hInst, hResource);
    	}
    	if (hDialogTemplate != NULL)
    		lpDialogTemplate = (LPCDLGTEMPLATE)LockResource(hDialogTemplate);
    
    	// return -1 in case of failure to load the dialog template resource
    	if (lpDialogTemplate == NULL)
    		return -1;
    
    	// disable parent (before creating dialog)
    	HWND hWndParent = PreModal();
    	AfxUnhookWindowCreate();
    	BOOL bEnableParent = FALSE;
    	if (hWndParent != NULL && ::IsWindowEnabled(hWndParent))
    	{
    		::EnableWindow(hWndParent, FALSE);
    		bEnableParent = TRUE;
    	}
    
    	TRY
    	{
    		// create modeless dialog
    		AfxHookWindowCreate(this);
    		if (CreateDlgIndirect(lpDialogTemplate,
    						CWnd::FromHandle(hWndParent), hInst))//HIER BLEIBT STEHEN UND LÄUFT NICHT WEITER
    		{
    			if (m_nFlags & WF_CONTINUEMODAL)
    			{
    				// enter modal loop
    				DWORD dwFlags = MLF_SHOWONIDLE;
    				if (GetStyle() & DS_NOIDLEMSG)
    					dwFlags |= MLF_NOIDLEMSG;
    				VERIFY(RunModalLoop(dwFlags) == m_nModalResult);
    			}
    
    			// hide the window before enabling the parent, etc.
    			if (m_hWnd != NULL)
    				SetWindowPos(NULL, 0, 0, 0, 0, SWP_HIDEWINDOW|
    					SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE|SWP_NOZORDER);
    		}
    	}
    	CATCH_ALL(e)
    	{
    		DELETE_EXCEPTION(e);
    		m_nModalResult = -1;
    	}
    	END_CATCH_ALL
    
    	if (bEnableParent)
    		::EnableWindow(hWndParent, TRUE);
    	if (hWndParent != NULL && ::GetActiveWindow() == m_hWnd)
    		::SetActiveWindow(hWndParent);
    
    	// destroy modal window
    	DestroyWindow();
    	PostModal();
    
    	// unlock/free resources as necessary
    	if (m_lpszTemplateName != NULL || m_hDialogTemplate != NULL)
    		UnlockResource(hDialogTemplate);
    	if (m_lpszTemplateName != NULL)
    		FreeResource(hDialogTemplate);
    
    	return m_nModalResult;
    }
    

    ich bitte um eure Hilfe
    Danke


  • Mod

    Dann zeig uns doch mal Code aus Deinem TestDialog. Vor allem was in Deiner OnInitDiaog Methode drin steht.



  • unten kann man mein Dialog code sehen.

    // TestDialog.cpp: Implementierungsdatei
    //
    
    #include "stdafx.h"
    #include "testEnes5.h"
    #include "TestDialog.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    
    /////////////////////////////////////////////////////////////////////////////
    // Dialogfeld TestDialog 
    
    TestDialog::TestDialog(CWnd* pParent /*=NULL*/)
    	: CDialog(TestDialog::IDD, pParent)
    {
    	//{{AFX_DATA_INIT(TestDialog)
    		// HINWEIS: Der Klassen-Assistent fügt hier Elementinitialisierung ein
    	//}}AFX_DATA_INIT
    }
    
    void TestDialog::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	//{{AFX_DATA_MAP(TestDialog)
    		// HINWEIS: Der Klassen-Assistent fügt hier DDX- und DDV-Aufrufe ein
    	//}}AFX_DATA_MAP
    }
    
    BEGIN_MESSAGE_MAP(TestDialog, CDialog)
    	//{{AFX_MSG_MAP(TestDialog)
    		// HINWEIS: Der Klassen-Assistent fügt hier Zuordnungsmakros für Nachrichten ein
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    
    /////////////////////////////////////////////////////////////////////////////
    // Behandlungsroutinen für Nachrichten TestDialog
    

    OnInitDialog habe ich gar nicht ? Muss ich das einfügen und initialisieren??
    wenn ja , wie soll es initialisert werden



  • ???


  • Mod

    Hast Du irgend welche Com Controls in dem Dialog?

    Was sagt der Callstack, wenn Du Break-All im Debugger klickst´, nachdem sich das System aufhängt.



  • "ntdll.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\kernel32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    Geladene Symbole für "C:\WINDOWS\system32\MFC42D.DLL"
    Geladene Symbole für "C:\WINDOWS\system32\MSVCRTD.DLL"
    "C:\WINDOWS\system32\gdi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\user32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    Geladene Symbole für "C:\WINDOWS\system32\MFCO42D.DLL"
    "C:\WINDOWS\system32\mfc42loc.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\advapi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\rpcrt4.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\secur32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\uxtheme.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\msvcrt.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\msctf.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\SynTPFcs.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\version.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\comctl32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\oleaut32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\ole32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\clbcatq.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\comres.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\Programme\Gemeinsame Dateien\Microsoft Shared\Web Components\11\OWC11.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\imm32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\wininet.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\crypt32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\msasn1.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\shlwapi.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\msi.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\ws2_32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\ws2help.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2180_x-ww_a84f1ff9\comctl32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\Programme\Gemeinsame Dateien\Microsoft Shared\Web Components\11\1031\OWCI11.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\xpsp2res.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\olepro32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\ddraw.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\dciman32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    "C:\WINDOWS\system32\d3dim700.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
    Das Programm "C:\CVS\Projekte\testEnes5\Debug\testEnes5.exe" wurde mit  Code 0 (0x0) beendet.
    

    beim debuggen habe ich das als Ausgabe



  • Wenn wir dieses Problem lösen könnten, würd ich mich echt freuen


  • Mod

    Das ist die Debug Ausgabe und nicht der Callstack!



  • Martin Richter schrieb:

    Das ist die Debug Ausgabe und nicht der Callstack!

    Ich weiß nicht wo ich Calsstack ausgabe kopieren kann


  • Mod

    Menü Debug -> Windows -> Callstack

    Wir wäre es mal mit etwas lernen was Debuggen bedeutet...?


Anmelden zum Antworten