Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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); ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо