![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
FastScript доступ к объектам дочерних окон. [D5, WinXP]
Afonya © (2007-12-21 11:52:00)Всем добрый день.
У меня в проекте есть главная форма Form1 (unit1).
Существует класс дочерней формы TForm2 (unit2). Она не самосоздаваемая в проекте - создается динамически.
В секторе initializationмодуля unit2 делаю следующее:
RegisterClasses([TForm2]);
fsGlobalUnit.AddClass(TForm2,'TForm');
Создание дочерней формы в главной Form1:
procedure TForm1.ActionAddChildFormExecute(Sender: TObject);
var
ChildForm : TCustomForm;
begin
ChildForm := TForm2.Create(Self);
with ChildForm do
begin
Parent := Self;
fsGlobalUnit.AddForm(ChildForm);
end;
end;
Объект fsScript1 класса TfsScript1 принадлежит форме Form1.
При попытке выполнить следующий скрипт выдает ошибку:
begin
ChildForm.ChekBox1.Checked := true;
end.
Вот так вызываю скрипт на выполнение:
procedure TForm1.ActionCompileExecute(Sender: TObject);
begin
fsScript1.Clear;
fsScript1.Lines := fsSyntaxMemo1.Lines; // загрузка вышеописанного скрипта
fsScript1.Parent:= fsGlobalUnit;
if fsScript1.Compile
then begin
ShowMessage('Compiled');
fsScript1.Execute;
end
else begin
ShowMessage(fsScript1.ErrorMsg + ' at ' + fsScript1.ErrorPos);
fsScript1.Lines.Clear;
fsScript1.Terminate;
ShowMessage('N/OT Compiled');
end;
end;
end;
Пожалуйста, подскажите, как обойти эти "грабли".
Afonya (2007-12-21 12:21:00) [1]Все!
Разобрался!
Извините за беспокойство... (дело в имени динамически создаваемого компонента класса TForm2)