Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Formularwechsel

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
12.11.2003, 20:57 Uhr
~fraloe
Gast


Hallo Leute!
Bei einer Datenbankabfrage möchte ich mit unterschiedlichen Dialogansichten arbeiten(Formularwechsel)


C++:
void CMainFrame::OnVor() //Erster Dialog
{
    // TODO: Code für Befehlsbehandlungsroutine hier einfügen
    if(GetActiveView()->IsKindOf(RUNTIME_CLASS(CNeu_1View)))
        return;

    SwitchToForm(IDW_NEU_1_FORM);
}

void CMainFrame::OnZurueck() //Zweiter DIalog
{
    // TODO: Code für Befehlsbehandlungsroutine hier einfügen
    if(GetActiveView()->IsKindOf(RUNTIME_CLASS(PruefView)))
        return;

    SwitchToForm(IDW_DIALOG1);
}

void CMainFrame::SwitchToForm(int nForm)
{
        CView* pOldActiveView = GetActiveView() ;
    CView* pNewActiveView = (CView*) GetDlgItem(nForm) ;

    if (pNewActiveView == NULL)
    {
     switch (nForm )
     {
        case IDW_NEU_1_FORM:
            pNewActiveView = (CView*) new CNeu_1View;
            break;
        case IDW_DIALOG1:
            pNewActiveView = (CView*) new PruefView;
            break;
     }
         CCreateContext context;
        context.m_pCurrentDoc = pOldActiveView->GetDocument();
        pNewActiveView->Create(NULL,NULL,0L,CFrameWnd::rectDefault,
            this, nForm, &context);

        pNewActiveView->OnInitialUpdate();
    }
    SetActiveView(pNewActiveView);
    pNewActiveView->ShowWindow(SW_SHOW);
    pOldActiveView->ShowWindow(SW_HIDE);
    pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);

    if (pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CNeu_1View))
        pOldActiveView->SetDlgCtrlID(IDW_NEU_1_FORM);
    if (pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(PruefView))
        pOldActiveView->SetDlgCtrlID(IDW_DIALOG1);
    RecalcLayout();
}



Das funst solange ich beim Projekt erstellen das Hägchen vor ActiveX-Steuerelemente nicht gesetzt habe.
Ich will aber in meiner Anwendung auch ActiveX-Steuerelemente verwenden.
Also wenn ich das Hägchen setze, bekomme ich beim versuch einen Formwechsel durchzuführen immer eine Fehlermedung.
Kann mir einer hier auf die Sprünge helfen.
Danke!!
Frank

Dieser Post wurde am 12.11.2003 um 21:51 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
12.11.2003, 21:52 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Wäre schön wenn du uns die Fehlermeldung sagen kannst, hab leider meine Glaskugel gerade in Reparatur
--
class God : public ChuckNorris { };

Dieser Post wurde am 12.11.2003 um 21:52 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.11.2003, 17:36 Uhr
fraloe



Hallo FloSoft!
Hab mich wirklich nicht sehr verständlich ausgedrückt!!
Mit oben genannten Code läst sich das Programm einwandfrei compilieren.
In der Hauptansicht arbeitet es auch tatellos. Nur wenn ich dann einen Formularwechsel durchführen will kommt folgende fehlermeldung:

Debug Asseration Failed!
Program:C...................... .exe
File: viewform.cpp
Line 69
....
....
....
Danach stürtzt es ab.

Wie gesagt die Meldung kommt nur wenn beim Projekt anlegen mit dem Assistenten in Schritt 3 das Hägchen vor ActiveX-Steuerelemente gesetzt ist.
Gruß Frank
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.11.2003, 18:49 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


setz mal in die switch2form funktion einen breakpoint und geh dann die anweisungen schritt für schritt durch bei welcher er abstürzt.
ich denke das es eins von den new's ist, welches die access violation schmeisst.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.11.2003, 23:16 Uhr
~fraloe
Gast


Hallo FloSoft!
Danke für dem Tip!!!!
Er hat mir auf die Sprünge geholfen.
Gruß Frank
 
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: