![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Открытие диалога из формы наследника [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тут никакой роли не играет. До ее добавления тоже диалог не открывался.