|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Динамическое создание форм
с формами не могу разобраться....
у меня формы при необходимости создаются такой конструкцией к примеру... Код:
try TToolButton(Sender).Tag := TagFormOpen; Application.CreateForm(TfmAddPO, fmAddPO); fmAddPO.ShowModal; finally fmAddPO.Free; TToolButton(Sender).Tag := TagFormClose; end; проверку на то из под какой формы запускаем я делаю так Код:
if fmList <> nil then но все это не работает... почему интересно? |
#2
|
|||
|
|||
Может быть лучше сделать что-то вроде такого :
Код:
type TDlg_Input_Date = class(TForm) OKBtn: TButton; CancelBtn: TButton; Label1: TLabel; Date: TDateTimePicker; Label_Head: TLabel; private { Private declarations } public { Public declarations } function Execute : boolean; end; //Вызов диалога для ввода даты function Input_Date(sHead : string; Var sDate : string) : boolean; implementation {$R *.DFM} function Input_Date(sHead : string; Var sDate : string) : boolean; //Вызов диалога для ввода даты Var FormX : TDlg_Input_Date; DT : TDateTime; begin Result:=false; FormX:=TDlg_Input_Date.Create(nil); TRY FormX.Label_Head.Caption:=trim(sHead); sDate:=trim(sDate); if IsDateStr(sDate) then begin if DateStr_to_DateTime(sDate,DT) then begin FormX.Date.Date:=DT; end; end; //Открываем окно диалога if FormX.Execute then begin sDate:=DateToStr(FormX.Date.Date); Result:=true; end; FINALLY if FormX<>NIL then begin FreeAndNil(FormX); FormX:=NIL; end; END; end; function TDlg_Input_Date.Execute : boolean; begin Result:=false; if ShowModal = mrOk then begin Result:=true; end; end; end. |
#3
|
|||
|
|||
Спасибо попробую...
|