warum funzt dieser code nicht ????
-
Hi @ all
Warum funzt der folgende Code nicht unter win98 (unter w2k funzt es)
extern CApp theApp; CString strPath = GetCommandLine(); int pos = strPath.ReverseFind( '\\'); strPath = strPath.Mid(1, pos-1); CStdioFile file; theApp.filename= strPath; theApp.filename += "\\set.ini"; ordner = theApp.filename; if(file.Open(theApp.filename, CFile::modeRead)) { file.Close(); } else { ordner = waehle_sordner(); // Verzeichnissauswahl ordner.Replace("\\", "\\\\"); if (file.Open(theApp.filename, CFile::modeCreate | CFile::modeWrite)) { WritePrivateProfileString("ordner","ordner", ordner, theApp.filename); } }
-
strPath = strPath.Mid(1, pos-1);
Sollte der String nicht bei 0 anfangen? Sonst fehlt ja der Laufwerksbuchstabe!ordner.Replace("\", "\\\");
Wozu das denn?if (file.Open(theApp.filename, CFile::modeCreate | CFile::modeWrite))
{
WritePrivateProfileString("ordner","ordner", ordner, theApp.filename);
}
Was meinst Du, warum man den Dateinamen bei WriteProfileString angeben muss? Wahrscheinlich, weil die Datei von dem Befehl selber geöffnet wird und nicht von Deinem Programm geöffnet werden darf!
-
hi
Was meinst Du, warum man den Dateinamen bei WriteProfileString angeben muss?
Habe ich doch gemacht !!!
-
[quote]
Habe ich doch gemacht !!!
/quote]Bitte Text bis zum Ende lesen! Du darfst die Datei nicht öffnen !!
-
noch eine Frage,
wieso funzt es dann unter w2000 und xp ???
-
Win2000/XP ist nicht so empfindlich für Programmierfehler
Ich weiss noch, mein erstes grösseres Programm, welches ich komplett unter WinNT entwickelte, lief nie unter Win98 (zumindest haben 2 Tage Fehlersuche nicht gereicht). Aber langsam hab ich mich an die Win98-Eigenarten gewöhnt!
-
ähm, was soll die Zeile bewirken :
ordner.Replace("\\", "\\\\");
?!?
Devil
-
@devil81
Hab ich schon gefragt !
-
= WINNT 4 verwenden ein besseres Dateisystem und bessere Rechteverwaltung für Dateien.
Kann sein das es deshalb unter W2K und Xp geht.
-
oder vielleicht, weil da die Datei standardmässig geshared geöffnet wird
-
Original erstellt von RenéG:
@devil81
Hab ich schon gefragt !doppelt gemoppelt hält besser