JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=ef49b011ff76129b977b1c5a49fe935cMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Assert??

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Fair_Lord
Mini JLI'ler



Anmeldedatum: 25.04.2004
Beiträge: 36

Medaillen: Keine

BeitragVerfasst am: 26.01.2005, 15:57    Titel: Assert?? Antworten mit Zitat

dlg.h:
Code:

class CDlg : public CDialog
{
public:

   CDlg(CWnd* pParent = NULL);

protected:

   HICON m_hIcon;
   virtual BOOL OnInitDialog();
};



dlg.cpp
Code:

#include <afxwin.h>
#include "prog.h"
#include "Dlg.h"



CDlg::CDlg(CWnd* pParent)
{

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

}




BOOL CDlg::OnInitDialog()
{

   CDialog::OnInitDialog();
   SetIcon(m_hIcon, TRUE);
   SetIcon(m_hIcon, FALSE);
   return TRUE;

}




prog.h
Code:

class CApp : public CWinApp
{
public:
   virtual BOOL InitInstance();
};


prog.cpp
Code:

#include <afxwin.h>
#include "prog.h"
#include "Dlg.h"

CApp theApp;

BOOL CApp::InitInstance()
{
   CDlg dlg;
   m_pMainWnd = &dlg;
   int nResponse = dlg.DoModal();
   return FALSE;
}


resource.h:
Code:

#define IDD_DIALOGFELD   101
#define IDR_MAINFRAME   200



Das gibt ne fehlermeldung:
Screenshot

Waran liegt's??
hab schon alles zigmal überprüft!

mfg
Fair_Lord
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



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

BeitragVerfasst am: 26.01.2005, 16:00    Titel: Antworten mit Zitat

0 Pointer zugriff?
Wo ist die zeile 494 (+- 10 zeilen bitte!)
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fair_Lord
Mini JLI'ler



Anmeldedatum: 25.04.2004
Beiträge: 36

Medaillen: Keine

BeitragVerfasst am: 26.01.2005, 16:02    Titel: Antworten mit Zitat

das was ich gepostet habe ist alles. gibt keine zeile 494!!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



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

BeitragVerfasst am: 26.01.2005, 16:02    Titel: Antworten mit Zitat

Versuch doch mal das Auskapselungsverfahren.
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fair_Lord
Mini JLI'ler



Anmeldedatum: 25.04.2004
Beiträge: 36

Medaillen: Keine

BeitragVerfasst am: 26.01.2005, 16:06    Titel: Antworten mit Zitat

was?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
C++Builder
Senior JLI'ler



Anmeldedatum: 04.10.2003
Beiträge: 235

Medaillen: Keine

BeitragVerfasst am: 26.01.2005, 16:17    Titel: Antworten mit Zitat

du sollst deinen Code Stück für Stück auskommentieren damit du sehen kannst in welchem Teil der Fehlerauftritt
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fair_Lord
Mini JLI'ler



Anmeldedatum: 25.04.2004
Beiträge: 36

Medaillen: Keine

BeitragVerfasst am: 26.01.2005, 16:18    Titel: Antworten mit Zitat

meckert da nicht der compiler?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



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

BeitragVerfasst am: 26.01.2005, 16:20    Titel: Antworten mit Zitat

Fair_Lord hat Folgendes geschrieben:
meckert da nicht der compiler?


Wenn Du mist baust, ja, aber sonst? Nö, ist eine sehr bewährte Debugmethode.

Oder geh mit dem Debugger drüber und such den Fehler
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fair_Lord
Mini JLI'ler



Anmeldedatum: 25.04.2004
Beiträge: 36

Medaillen: Keine

BeitragVerfasst am: 26.01.2005, 16:36    Titel: Antworten mit Zitat

es ist diese zeile:
Code:
   int nResponse = dlg.DoModal();

ich kann sie weder streichen, noch ist daran etwas falsch


verweis auf das:
Code:
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))
      {
         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;
}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Cyianor
Super JLI'ler



Anmeldedatum: 23.12.2002
Beiträge: 452

Medaillen: Keine

BeitragVerfasst am: 26.01.2005, 18:04    Titel: Antworten mit Zitat

Wenn da ein NULL Pointer erscheint könnte es sein, dass noch kein Speicher für die Variable dlg allokiert wurde und sie deshalb auch kein gültiger Pointer ist. Überprüf das mal!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fair_Lord
Mini JLI'ler



Anmeldedatum: 25.04.2004
Beiträge: 36

Medaillen: Keine

BeitragVerfasst am: 27.01.2005, 16:03    Titel: Antworten mit Zitat

Code:

BOOL CApp::InitInstance()
{
   CDlg dlg;                   // {CDlg hWnd=0xcccccccc}
   m_pMainWnd = &dlg; // {CDlg hWnd=0x00000000}
   int nResponse = dlg.DoModal();
   return FALSE;
}


Warum das?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 27.01.2005, 16:07    Titel: Antworten mit Zitat

weil dlg nur ne lokale variable der funktion InitInstance() ist und daher nicht sicher gestellt ist was mit der variable passiert wenn die funktion verlassen wird.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fair_Lord
Mini JLI'ler



Anmeldedatum: 25.04.2004
Beiträge: 36

Medaillen: Keine

BeitragVerfasst am: 28.01.2005, 13:49    Titel: Antworten mit Zitat

aha
und wie kann ich jetzt machen dass es geht?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 28.01.2005, 13:52    Titel: Antworten mit Zitat

CDlg dlg entweder global machen oder aber das in eine klasse legen CApp is doch deine Klasse oder ? Dann packs da rein, dann gehts.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum