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

Вниз

dream scripter   Найти похожие ветки 

 
Ярыч ©   (2004-03-19 13:16) [0]

можно ли создавать при помощи DS формы и елементы на них?
скиньте простенький скриптик


 
Юрий Зотов ©   (2004-03-19 13:28) [1]

Какой именно scripter? Если Delphi, то все как в Delphi и делается. Естественно, в проект должны быть включены файлы импорта, а нужные классы должны быть зарегистрированы.


 
Ярыч ©   (2004-03-19 14:52) [2]

хм....
единственный выход, который покка вижу, создание в проекте пустой формы, а во внешнем скрипте уже добавлять элементы, что не очень то удобно
а регистрация новой формы у меня не получается


 
Юрий Зотов ©   (2004-03-19 15:05) [3]

Новую форму регистрировать не надо - надо регистрировать ее предка. А дальше обычный Create(New).


 
Ярыч ©   (2004-03-23 12:33) [4]

а есть ли возможность в внешнем скрипте вызывать предопределенную процедуру?
если конкретно, то не получается обработать OnClick по элементу
приходится создавать процедуру, которая вызывается по клику на любом элемента, а далее ловится сендер и обрабатывается уже во внешнем скрипте клик на нужном элементе
так вот вызвать эту процедуру (для любого клика) не получается

сделано так: все таки у меня создана голая форма на которую я размещаю нужные элементы во внешнем скрипте, и которым даю процедуру на OnClick по обработке любых кликов


 
Юрий Зотов ©   (2004-03-23 12:50) [5]

Файлы импорта сгенерированы?


 
Ярыч ©   (2004-03-23 12:53) [6]

да...


 
Юрий Зотов ©   (2004-03-23 13:41) [7]

Уточните задачу - требуется из внешнего скрипта вызвать процедуру, зашитую в EXE? Или просто сделать скриптовой обработчик OnClick?


 
Ярыч ©   (2004-03-23 15:24) [8]


> Уточните задачу - требуется из внешнего скрипта вызвать
> процедуру, зашитую в EXE? Или просто сделать скриптовой
> обработчик OnClick?


нужно сделать скриптовый обработчик onClick
кстати, необходимость есть и в вызове процедуры зашитой в EXEшнике, т.к. некие задачи потребуют от меня этих действий


 
Юрий Зотов ©   (2004-03-23 16:33) [9]

> Ярыч ©   (23.03.04 15:24) [8]

> нужно сделать скриптовый обработчик onClick

Возможно, я уже подзабыл (игрался с DC уже довольно давно), но, вроде бы, такие обработчики делаются обычным образом, без всяких фокусов. Просто пишем в скрипте обработчик и цепляем его к событию. Посмотрите, как это сделано в их демках.


 
Ярыч ©   (2004-03-23 22:26) [10]

мой вариант такой:
1. привязка к пустой форме
DCS.AddObjectToScript(ShablonFrm, "ShF", False);
ShablonFrm - имя формы
ShF - алиас формы для обращения к ней из внеш. скрипта
DCS.CallNoParamsMethod("StartScript");
StartScript - вызываемая процедура из внеш. скрипта

2. процедура у пустой формы для обработки любых кликов (не полная)

procedure TShablonFrm.AnyClick(Sender: TObject);
begin
with Sender as TButton do
 begin
   showmessage(name); // проверка имени элемента
   MainFrm.DCS.DispatchMethod(Name+"OnClick",[Name]);
 end;
end;


3. а теперь и сам внеш. скрипт

procedure StartScript;
var
 Button1: TButton;
begin
 Button1 := TButton.Create(ShF);
 with Button1 do
 begin
   Left := 1;
   Top := 1;
   Width := 75;
   Height := 25;
   Caption := "Button1";
   TabOrder := 0;
   Parent := ShF;
   OnClick := ShF.AnyClick;
 end;
 ShF.ShowModal;
 Button1.Free;

end;
procedure Button1OnClick(Sender: String);
begin
 ShowMessage("Ok!");
end;


Итог:
1. Кнопка создается (и это хорошо)
2. На строке внеш. скрипта (OnClick := ShF.AnyClick) выдается, что процедура не определена или не найдена (что в данном случае одно и тоже)

ну и соответственно, на правильном ли я пути?


 
Юрий Зотов ©   (2004-03-24 00:42) [11]

Блин, практически все уже забыл... Пожалуй, единственное, что могу посоветовать - это все же посмотреть в их демки. Сорри...


 
Ярыч ©   (2004-03-24 09:58) [12]

Спасибо Вам, Юрий.
Что вслушали, а выкладывая проблему - начинаешь уже и сам понимать тонкости...
Как решу эту проблему, постараюсь ее обрисовать, мало ли кому пригодится.



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

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

Наверх




Память: 0.49 MB
Время: 0.031 c
1-1080111665
Skull_X
2004-03-24 10:01
2004.04.11
Создание объекта программно


1-1082446133
Talle
2004-04-20 11:28
2004.04.11
Компонента как параметр процедуры.


3-1081937395
Vitaliy
2004-04-14 14:09
2004.04.11
Создание dbf таблицы через ADO


14-1082358874
Cosinus
2004-04-19 11:14
2004.04.11
Поздравьте меня с моим первым полученным спамом по SMS.


1-1079948338
Beglec
2004-03-22 12:38
2004.04.11
Обним взмахом руки