![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
OpenDialog - кто сталкивался??? [D5, WinXP]
VZup © (2004-10-27 15:30:00)Описываю так:
ofn.lStructSize:=76;
ofn.hwndOwner:=MainWnd;
ofn.lpstrFile:=FileName;
ofn.lpstrFilter:='txt-files (*.txt)'+ #0+'*.txt'+#0#0;
ofn.nFilterIndex:=1;
ofn.nMaxFile:=SizeOf(FileName);
ofn.Flags:=OFN_PATHMUSTEXIST or OFN_FILEMUSTEXIST;
Но привыборе файла и нажатии на ОК, диалог закрывается lpstrFile (он же FileName) остается пустым. В чем причина, подскажите.
марсианин (2004-10-27 22:02:00) [1]
> когда OpenDialog вылазит, на панели задач появляется его
> кнопка, можно ли как-то ее убрать (спрятать)?
> ofn.hwndOwner:=MainWnd;
ты уверен, что MainWnd<>0?
DVM (2004-10-27 19:45:00) [2]
> clickmaker © (27.10.04 15:32) [1]
> как объявлена FileName?
> и почему ofn.lStructSize:=76;
> а не ofn.lStructSize:=SizeOf(ofn); ?
Попробуйте скомпилировать программу под XP, а потом запустить под 98. Не заработает. Это я ему подсказал.
VZup (2004-10-27 16:45:00) [3]Можно еще вопросик: когда OpenDialog вылазит, на панели задач появляется его кнопка, можно ли как-то ее убрать (спрятать)?
VZup (2004-10-27 16:35:00) [4]
> GuAV ©
Спасибо, получилось.
GuAV (2004-10-27 16:15:00) [5]VZup © (27.10.04 15:42) [2]
FileName: PChar;
VZup © (27.10.04 15:30)
ofn.nMaxFile:=SizeOf(FileName);
В четыре байта имя файла не поместится. И наверное ещё память не выделяешь.
Надо илиFileName: array[0..MAX_PATH] of Char;
или
Выделять память дляPChar(илиSetLengthдля строки) и тогда вofn.nMaxFile:=писать длину.
VZup (2004-10-27 15:42:00) [6]FileName: PChar;
А по поводу ofn.lStructSize:=76 - кто-то подсказал (здесь на форуме), а так и так, все равно lpstrFile пустой.
clickmaker (2004-10-27 15:32:00) [7]как объявлена FileName?
и почему ofn.lStructSize:=76;
а не ofn.lStructSize:=SizeOf(ofn); ?