Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Speicherfehler, dergleichen

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
02.12.2006, 14:38 Uhr
~david_hurz
Gast


Will eine Dialogbox über Menüpunkt aufrufen. In die Datei soll der entspr. Inhalt, funktioniert auch nicht.

Hat im ersten Moment geklappt, dann aufeinmal nicht (der Aufruf der Dialogbox)

Siehe Code:

Hier wird modaler Dialog erstellt:


C++:
void CQuizDoc::OnParameter()
{
    
    CParameter parameter;
    CStdioFile file;
    CString strTmp;
    CString strQuery;

    if(file.Open("connection.ini",CFile::modeRead)==TRUE){
        
        file.ReadString(strTmp);
        parameter.m_strHost4 = strTmp;
        parameter.m_strHost3 = strTmp;
        parameter.m_strHost2 = strTmp;
        parameter.m_strHost1 = strTmp;

        file.ReadString(strTmp);
        parameter.m_strUser = strTmp;

        file.ReadString(strTmp);
        parameter.m_strPasswort = strTmp;

        file.ReadString(strTmp);
        parameter.m_strDatenbank = strTmp;

        file.Close();
    }
    else {
        parameter.m_strHost4="127";
        parameter.m_strHost3="0";
        parameter.m_strHost2="0";
        parameter.m_strHost1="1";
        parameter.m_strUser="root";
        parameter.m_strPasswort="root";
        parameter.m_strDatenbank="quiz";

//>>>>    if(parameter.DoModal()==IDOK){
                if (!file.Open("connection.ini", CFile::modeCreate | CFile::modeWrite) == true) {
        strQuery.Format("%s.,%s.,%s.,%s",parameter.m_strHost4,parameter.m_strHost3,parameter.m_strHost2,parameter.m_strHost1);
                    file.WriteString("Host:"+ strQuery+"\n");
                    file.WriteString("User:"+ parameter.m_strUser+"\n");
                    file.WriteString("Passwort:"+ parameter.m_strPasswort+"\n");
                    file.WriteString("DB:"+ parameter.m_strDatenbank+"\n");
                    file.Close();
                }
        }
    }
    m_connection.setHost(strQuery);
    m_connection.setDBName(parameter.m_strDatenbank);
    m_connection.setUser(parameter.m_strUser);
    m_connection.setPassword(parameter.m_strPasswort);
}

// In der View der entsprechende Aufruf:
void CQuizView::OnDialogpara()
{
GetDocument()->OnParameter();
}



// Anmerkung : In die Datei connection.ini wird komischerweise nix geschrieben wieso?

Dieser Post wurde am 03.12.2006 um 12:28 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.12.2006, 15:58 Uhr
mmc20
puss in boots


weil hinter dem ersten else-block die "}" fehlt, daher liest er nur die datei, und das wars dann, der rest wird nur ausgeführt wenn "file.Open() == FALSE"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
03.12.2006, 12:30 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ne der fehler liegt darin das du wenn er die datei nicht zum schreiben öffnen kannst schreibst


C++:
<<falsch<<< if (!file.Open("connection.ini", CFile::modeCreate | CFile::modeWrite) == true) {
>>richtig>> if (file.Open("connection.ini", CFile::modeCreate | CFile::modeWrite) == true) {



Ansonsten haste natürlich die eine }-Klammer noch vergessen auszukommentieren, das würde aber in einem compilerfehler resultieren.
--
class God : public ChuckNorris { };
 
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: