![]() |
| | #1 (permalink) | ||
| Registered User Join Date: Feb 2001 Location: Bucuresti | problema CFile dupa CFileDialog
ma chinui de cateva ore si am tot redus pana am ajuns la cateva linii care nu functioneaza cum gandeam eu ca trebuie sa mearga; Deci: Visual C++ (Folosesc Visual Studio 2005 Profesional Edition , asa scrie la about) Dupa cum ziceam, am tot redus pana am ajuns in cazul urmator: Creez o noua aplicatie, MFC Dialog; Creez un buton, si la functia pe butonul respectiv adaug urmatorul cod: [code] void CtestwowDlg::OnBnClickedButton1() { // TODO: Add your control notification handler code here CFileDialog fdlg(TRUE,_T("exe"),_T("*.exe"), OFN_EXPLORER, _T("Applications (.exe)|.exe||")); fdlg.DoModal(); CFile file(_T("data_.dll"),CFile::modeCreate); file.Close(); } [/code] Ce imi face mie: Pornesc aplicatia si daca apas butonul respectiv, apare fereastra de Open pentru un fisier executabil; Daca dau cancel, apare imediat si fisierul creat data_.dll (cel de care am nevoie). In schimb daca in fereastra de Open aleg un executabil si dau Open atunci fisierul data_.dll nu va mai aparea in veci ... Trebuie sa inchid programul si sa am grija sa nu dau open ci cancel in fereastra de open ... Intrebarea e ... wtf is this ?! Ce gresesc ? Pls help Pe scurt: problema este ca NU se creeaza fisierul data_.dll daca dau open in fereastra de la CFileDialog, ci numai daca dau cancel in acea fereastra... cu toate ca nu vad legatura (
__________________ Indubitabil ! sau .... | ||
|
| | #2 (permalink) | ||
| Registered User Join Date: Jul 2001 |
Cel mai simplu pune un messageBox dupa DoModal. Daca problema dispare inseamna ca ai probleme la crearea fisierului. 1.E posibil sa nu tzina sa creezi un fisier cand el exista deja de exemplu. 2.Incearca sa scrii ceva in fisier. 3.Mergi cu debug si vezi daca ajungi la liniile care creeaza fisierul.
__________________ .... vremurile sunt aproape... | ||
|
| | #4 (permalink) | ||
| Registered User Join Date: Feb 2001 Location: Bucuresti |
Ieeeeeiiii se pare ca am aflat pana la urma: Cand folosesc CFileDialog mi se schimba directorul curent al aplicatiei ... si exista un flag :OFN_NOCHANGEDIR Restores the current directory to its original value if the user changed the directory while searching for files. Uff ... urata situatie, mersi oricum de raspuns !
__________________ Indubitabil ! sau .... | ||
|
| Advertisment | |
![]() |
|
| Thread Tools | |
|
|