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

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

Открытие диалога из формы наследника [D7, XP]


DiamondeX ©   (2010-06-18 00:09:00) 

Есть такая форма:
unit MainBaseFU;
...
type
 TMainBaseF = class(TBasicF)
   LoadImgBtn: TButton;
   LoadPictureDlg: TOpenPictureDialog;
   ...
 end;

В ней у кнопки LoadImgBtnнет обработчика нажатия на кнопку, но он есть в форме-наследнице, что показано ниже:
unit CaptureLrFU;
...
type
 TCaptureLrF = class(TMainBaseF)
   procedure LoadImgBtnClick(Sender: TObject); override;
   ...
 end;

implementation

procedure TCaptureLrF.LoadImgBtnClick(Sender: TObject);
begin
 ShowMessage('before open picture');
 if not LoadPictureDlg.Execute then Exit;
 ShowMessage('after open picture');
end;



По непонятной причине открытие окна диалога не происходит, и после сообщения " before open picture" сразу появляется " after open picture". Кто знает в чем тут дело?


DiamondeX   (2010-06-18 02:15:00) [1]

Ошибку нашел: причина вовсе не в наследовании, как оказалось. Просто в свойство FileNameдиалога до вызова LoadImgBtnClickбыло занесено некорректное имя файла (фактически это оказалось именем папки, так как заканчивалось слэшем), что почему-то не вызывало возмущения у контрола-диалога. Очевидно именно по этой причине диалог совсем не открывался.

Тему, думаю, можно закрыть.


Германн   (2010-06-18 01:36:00) [2]

truth is out there


DiamondeX   (2010-06-18 00:54:00) [3]

Кстати, директива overrideтут никакой роли не играет. До ее добавления тоже диалог не открывался.


Наверх

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