Wo überprüfen ?
-
Hallo,
ich habe ein Programm (Dialog), das beim starten, Einstellungen aus einer .ini Datei einlesen soll. Wo bzw. wie prüfe ich am besten ob die datei überhaupt vorhanden ist, und wenn nicht mit einer Meldung "Die Datei...." abbreche.
Mein Versuch in OnInitDialog:
// ZU ERLEDIGEN: Hier zusätzliche Initialisierung einfügen m_sIniPfad = "C:\\Windows\\gdt_settings.ini"; CFileFind iniDatei; BOOL bFindeIniDatei = iniDatei.FindFile(m_sIniPfad); if (bFindeIniDatei != 1) { OnClose(); } else { IniEinlesen(); TrayIconErstellen(); } return TRUE; // Geben Sie TRUE zurück, außer ein Steuerelement soll den Fokus erhaltenDas Ergebniss ist zwar das Gewünschte, nämlich dass das Programm nicht gestartet wird, ist aber wohl nur Zufall. OnClose wird nicht aufgerufen (Gibt´s die Funktion in dem Moment überhaupt schon?), das Programm startet trotzdem nicht. Wie löse ich das "sauber"?
Gruß Sven
-
Anstatt OnClose nimmst du bitte CDialog::EndDialog. Ansonsten ist die Lösung denke ich nicht schlecht. Ok, du könntest natürlich die Abfrage auch in die Appklasse setzen, bevor dort DoModal der Dialogklasse aufgerufen wird.
Grüssli