Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.042 c