Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Помогите решить проблему с CFileDialog


Автор: Yujen 29.3.2004, 10:33
Создал проект в VC++ версии 6.0
затем перекомпилировал его в VC++dotNET
Отдал ехе, и сидел довольный ровно 2 часа пока не выяснилость, что CFileDialog не работает, т.е. есть обработчик на нажатие кнопки, по которому открывается диалог выбора файла. все бы ничего, но я заметил, что это проявялется только в виндах9х. Может знает кто как это лечится?

Автор: mr.DUDA 29.3.2004, 10:43
Цитата
Отдал ехе, и сидел довольный ровно 2 часа пока не выяснилость, что CFileDialog не работает, т.е. есть обработчик на нажатие кнопки, по которому открывается диалог выбора файла. все бы ничего, но я заметил, что это проявялется только в виндах9х. Может знает кто как это лечится?

Диалог не появляется ? Появляется, но не работает ? Вылетает вообще ?
Программа написана на MFC, ATL или WinAPI ?

Автор: Yujen 29.3.2004, 17:49
Нашел:

CFileDialog cFileDlg(
TRUE, (LPCTSTR)NULL, (LPCTSTR)NULL,
OFN_ENABLESIZING | OFN_EXPLORER | OFN_READONLY | OFN_PATHMUSTEXIST |
OFN_LONGNAMES|OFN_OVERWRITEPROMPT | OFN_PATHMUSTEXIST |
OFN_CREATEPROMPT | OFN_SHOWHELP,
_T("Microsoft Data Access files |*.mdb|"), this,NULL);

Проблема выделена крассным
Оказывается sizeof(OPENFILEDIALOG) если компилить в VC++7 и выше возврашает не правильное значение для Win9x. Но если поставить NULL то все работает, и диалог открывается правильный.....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)