UpdateData



  • Unten stehender Code soll Daten aus einer Datei lesen und dann Schaltelementen zuweisen. Sobald ich jedoch in einer anderen Funktion UpdateData(true) aufrufe
    (für den Fall das der Benutzer eine Eingabe ändern will) kommt eine Fehlermeldung beim Ausführen "Debug Error! Damage after Block (#59)"

    void CPkDlg::OnFILEOeffnen()
    {
    FILE *datei;

    CString s;

    static char BASED_CODE szFilter[] = "Punkte-Datei (.txt)|.txt||";
    CFileDialog m_datei(true,NULL,"*.txt ",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
    m_datei.DoModal();
    s=m_datei.GetFileName();

    if (s.GetLength()>1)
    {
    datei=fopen(s,"r");
    fscanf(datei,"%s%2d%2d%2d%2d",m_LK1,&m_LK1_1,&m_LK1_2,&m_LK1_3,&m_LK1_4);
    fscanf(datei,"%s%2d%2d%2d%2d",m_LK2,&m_LK2_1,&m_LK2_2,&m_LK2_3,&m_LK2_4);
    UpdateData(false);
    fclose(datei);
    }

    } 😡



    Es gibt so viele Beispiele, wie man den CFileDialog benutzt, warum müsst ihr immer wieder das Rad neu erfinden wollen?
    ->if (s.GetLength()>1)
    Man fragt nicht ab, ob der Dateiname mehr als einen Buchstaben hat, sondern ob der Dateidialog mit OK-Bestätigung beendet wurde!

    Wunderschöne Variablennamen, wie m_LK1, m_LK1_1!!! Ganz grosses Lob, kann niemand erkennen, welcher Typ hier gemeint ist!
    Warum benutzt Du für m_LK1 kein '&'?
    Zeig mal, wie die Variablen deklariert sind!


Anmelden zum Antworten