000
08.10.2002, 12:58 Uhr
~Remo
Gast
|
Hallo,
wie kommt es, dass m_ofn.lpstrInitialDir nur direkt Zeichenketten annimmt, nicht aber einen CString, char* oder LPCTSTRING. Beispiel: CFileDialog fileD(false,"tes",NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, NULL,AfxGetMainWnd()); fileD.m_ofn.lpstrTitle=title;//titel des oeffnen-Speichern-dialoges fileD.m_ofn.lpstrFilter="Test (*.tes)\0*.tes\0Alle Dateien(*.*)\0*.*\0\0";//FileFilter CString cs=m_GlobalSettingsDlg.pfad.c_str();// "dtest\test.tes" int z=cs.ReverseFind('\\'); cs.Delete(z+1,cs.GetLength()-(z+1));// "dtest\ cs.Replace("\\","\\\\"); //"d\test\\ const char* ch=LPCTSTR(cs); fileD.m_ofn.lpstrInitialDir=ch; if(fileD.DoModal()==IDOK) ... ...
Ein Filedialog oeffnet sich, wobei sich der nutzer unter "Arbeitsplatz" wiederfindet.
Nun wird fileD.m_ofn.lpstrInitialDir=ch; zu fileD.m_ofn.lpstrInitialDir="D\test\\";
Ein Filedialog oeffnet sich, wobei sich der nutzer unter "dtest\" wiederfindet.
Da der Pfad dynamisch sein soll, ist es wichtig, dass eine Variable als Zeichenkette uebergeben wird. Was mache ich falsch?
Danke im voraus. Remo |