Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: CL | DM;

Вниз

Использование RTTI   Найти похожие ветки 

 
trof   (2002-12-07 19:55) [0]

Добрый день.
Есть у меня приложение с MDI-интерфейсом, которое работает с базой. В некоторых режимах я хочу сделать, чтоб окна у меня отображались как модальные. На этапе проектирования задал FormStyle=fsMDIChild, а метод ShowModal для дочерних окон не работает. Пытался до вызова конструктора поменять в RTTI вышеуказанное свойство - ничего не даёт (игнорируется). Можкт я что-то нетак сделал? Помогите, кто сталкивался. Вот кусок кода, который показывает принцип желаемого действия, но не работает :-(( :

function TBaseEditForm.ShowDirectory(ViewClass: TFormClass;
const FieldName: string): variant;
var
ViewForm:TBaseViewForm;
begin
if ViewClass.ClassInfo<>nil then
TForm(ViewClass.ClassInfo).FormStyle:=fsNormal;
Application.CreateForm(ViewClass,ViewForm);
with ViewForm do
begin
try
ShowModal;
Result:=ViewDataSet.FieldByName(FieldName).Value
except
Result:=Null
end;
Free
end
end;


 
Александр Павлов ©   (2002-12-07 21:04) [1]

Лечится переопределением метода CreateParams() создаваемой формы:

procedure CreateParams(var Params: TCreateParams); override;

...

procedure TФорма.CreateParams(var Params: TCreateParams);
begin
if FIAmMDI then FormStyle := fsMDIChild
else FormStyle := fsNormal;
inherited CreateParams(Params);
end;


Зам.: в процедуре реализации формы, с целью эк-мии памяти, создавать форму можно без переменной экземпляра:

with TBaseViewForm.Create(Application) do ;

С уважением.


 
trof   (2002-12-07 21:42) [2]

Спасибо. Только не понятно with TBaseViewForm.Create(Application) do ; - разве коппилятор сам не создаёт аналогичную переменную?



Страницы: 1 вся ветка

Текущий архив: 2002.12.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
1-61579
brestmarket
2002-12-06 02:01
2002.12.19
Есть ли возможность в TToolBar2000 делать затемнение меню?


3-61497
sen
2002-12-02 15:21
2002.12.19
Частичная выборка


1-61621
Анна
2002-12-06 16:31
2002.12.19
использование dll C++ в Delphi


14-61805
Axis_of_Evil
2002-11-27 12:47
2002.12.19
Общедельфийский рейтинг музыки


14-61808
AL2002
2002-11-25 13:18
2002.12.19
Королевство дельфи. (не успел добавить). Теперь можно и стереть.