Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 16.08.04 14:42
Оценка:
Кто-нибудь уже наигрался с пользовательскими скриптами в своих программах?

Мы успешно исполняем VBScript — наш продукт с поддержкой пользовательских скриптов уже работает на сотне компьютеров, но!..

Пользователям весьма желательно иметь подсказки при написании своих скриптов. Например такие, какие появляются в Delphi (или в MSVS) при вводе точки после объекта или при вводе скобки после имени процедуры. Имеются в виду объекты и процедуры, объявленные и реализованные внутри нашей программы.

"Изобретать велосипед" не хочется. Пожалуйста, поделитесь опытом, у кого он имеется. Может быть существуют фриварные или хотя бы платные модули, помогающие пользователям редактировать скрипты?
Alex
Re: Исполнение в своих EXE пользовательских скриптов
От: Аноним  
Дата: 16.08.04 14:48
Оценка: :)
АГА! Пиратская версия .net студии или beta версия
Re: Исполнение в своих EXE пользовательских скриптов
От: psg  
Дата: 16.08.04 14:54
Оценка: 1 (1)
Здравствуйте, AlexKB, Вы писали:

AKB>"Изобретать велосипед" не хочется. Пожалуйста, поделитесь опытом, у кого он имеется. Может быть существуют фриварные или хотя бы платные модули, помогающие пользователям редактировать скрипты?


http://sourceforge.net/projects/synedit/

Подсветка синтаксиса — это уже много
Re[2]: Исполнение в своих EXE пользовательских скриптов
От: Аноним  
Дата: 16.08.04 15:44
Оценка:
Здравствуйте, psg, Вы писали:

AKB>>"Изобретать велосипед" не хочется. Пожалуйста, поделитесь опытом, у кого он имеется. Может быть существуют фриварные или хотя бы платные модули, помогающие пользователям редактировать скрипты?


psg>http://sourceforge.net/projects/synedit/


Он только подсвечивает?

psg>Подсветка синтаксиса — это уже много


Нам очень нужны подсказки, появляющиеся по мере ввода строки кода. Пользователи, пишущие скрипты внутри нашей программы, не являются профессиональными программистами, да и скрипты ихние часто живут не более пары часов, поэтому не столько важна подсветка уже написанных строчек, сколько необходма подсказка контекстно-допустимых свойств, методов и параметров.
Re[2]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 16.08.04 16:38
Оценка:
Здравствуйте, Аноним, Вы писали:

А>АГА! Пиратская версия .net студии или beta версия


Это о чем сейчас речь?

Есть наша Delphi-программа, в ней есть объекты и методы, пользователям предоставляется возможность создавать и запускать свои собственные VBСкрипты, оперирующие нашими published объектами... а при чем здесь пиратская версия dotnet?
Alex
Re: Исполнение в своих EXE пользовательских скриптов
От: wildwind Россия  
Дата: 16.08.04 17:00
Оценка:
Здравствуйте, AlexKB, Вы писали:

AKB>Пользователям весьма желательно иметь подсказки при написании своих скриптов. Например такие, какие появляются в Delphi (или в MSVS)


Функции типа Code Insight однозначно требуют нестандартного редактора, чтобы отследить момент активации (причем просто ловить "точку" недостаточно, нужен контекст, в который она впечатывается), а также синтаксического анализа кода, чтобы определить тип объекта. Поэтому подумайте, стоит ли овчинка выделки. Может лучше обойтись "малой кровью", например по выделенному ProgID выводить справку о свойствах и методах объекта.
Re[2]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 16.08.04 17:13
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, AlexKB, Вы писали:


AKB>>Пользователям весьма желательно иметь подсказки при написании своих скриптов. Например такие, какие появляются в Delphi (или в MSVS)


W>Функции типа Code Insight однозначно требуют нестандартного редактора, чтобы отследить момент активации (причем просто ловить "точку" недостаточно, нужен контекст, в который она впечатывается), а также синтаксического анализа кода, чтобы определить тип объекта.


Сейчас изучаем ссылку, любезно предоставленную уважаемым PSG:
http://sourceforge.net/projects/synedit/

Раньше мы уже создавали редактор на основе примитивного Memo и запускали парсер после каждого нажатия клавиши. Т.е., например, если ListBox высвечивает (после точки) две строки "подсказки": Move и Resize, то нажатие стрелки "вправо" пересоздает и высвечивает ListBox с единственной строкой Resize, поскольку после точки присутствует буква r:
SomeObject.r
Нажатие Enter даст результат, аналогичный борландовскому Code Insight:
SomeObject.Resize
Но это был наш собственный интерпретатор нашего примитивного скрипта, сейчас нужно нечто посерьезнее.

W> Поэтому подумайте, стоит ли овчинка выделки. Может лучше обойтись "малой кровью", например по выделенному ProgID выводить справку о свойствах и методах объекта.


Справка неинтересна. Мы обязаны сделать не хуже, чем было в случае с нашим предыдущим скриптом. А раз там был Code Insight, значит и для VBScript, редактируемом в нашей программе, необходимо сделать не хуже...
Alex
Re[3]: Исполнение в своих EXE пользовательских скриптов
От: psg  
Дата: 16.08.04 20:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, psg, Вы писали:


AKB>>>"Изобретать велосипед" не хочется. Пожалуйста, поделитесь опытом, у кого он имеется. Может быть существуют фриварные или хотя бы платные модули, помогающие пользователям редактировать скрипты?


psg>>http://sourceforge.net/projects/synedit/


А>Он только подсвечивает?


Зачатки autocomplete у него есть. Кое-что можно взять из demo и 3rd party files. Но основную массу работы конечно придется выполнить вручную.
Re[3]: Исполнение в своих EXE пользовательских скриптов
От: wildwind Россия  
Дата: 16.08.04 22:11
Оценка:
Здравствуйте, AlexKB, Вы писали:

AKB>Мы обязаны сделать не хуже, чем было в случае с нашим предыдущим скриптом. А раз там был Code Insight, значит и для VBScript, редактируемом в нашей программе, необходимо сделать не хуже...

Ну раз момент политический, тогда конечно...
А представьте себе, редактор кода с CodeInsight но без подсветки, это ж фу как несолидно!

AKB>Раньше мы уже создавали редактор на основе примитивного Memo и запускали парсер после каждого нажатия клавиши.

Помнится у Memo(как и у RichEdit) есть функция поиска границы слова от курсора вправо и влево, причем с заданием собственных разделителей. Может быть она вам поможет.
Парсить все после каждого нажатия клавиши тоже не фонтан IMHO. По крайней мере объекты, известные с прошлого парсинга, можно как-то использовать. Трудность наверное будет представлять отслеживание текущей scope (где курсор).
Re: Исполнение в своих EXE пользовательских скриптов
От: Spaider Верблюд  
Дата: 17.08.04 06:19
Оценка: 3 (1)
Здравствуйте, AlexKB, Вы писали:

AKB>Кто-нибудь уже наигрался с пользовательскими скриптами в своих программах?


AKB>Мы успешно исполняем VBScript — наш продукт с поддержкой пользовательских скриптов уже работает на сотне компьютеров, но!..


AKB>Пользователям весьма желательно иметь подсказки при написании своих скриптов. Например такие, какие появляются в Delphi (или в MSVS) при вводе точки после объекта или при вводе скобки после имени процедуры. Имеются в виду объекты и процедуры, объявленные и реализованные внутри нашей программы.


AKB>"Изобретать велосипед" не хочется. Пожалуйста, поделитесь опытом, у кого он имеется. Может быть существуют фриварные или хотя бы платные модули, помогающие пользователям редактировать скрипты?


SAX Basic -- самая лучшая реализация "этого дела" на данный момент.
СтОит соответсвтенно -- 999$ single licence.
Если Ваши заказчики хорошо платят, то не факт, что вы сэкономите, если будете реализовывать вышеописанные фичи сами.
... << RSDN@Home 1.1.4 @@subversion >>
--
К вашим услугам,
Re[4]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 17.08.04 07:58
Оценка:
Здравствуйте, psg, Вы писали:

psg>>>http://sourceforge.net/projects/synedit/


psg>Зачатки autocomplete у него есть. Кое-что можно взять из demo и 3rd party files.


3rd — речь идет о юнихайлайтере? Что там имеется, кроме высвечивания ключевых слов?

psg>Но основную массу работы конечно придется выполнить вручную.


http://www.sax.net/ActiveX/Basic/ в этом смысле много лучше, разве что $1000 за него — небольшой перебор...
Alex
Re[2]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 17.08.04 08:05
Оценка:
Здравствуйте, Spaider, Вы писали:

AKB>>Пользователям весьма желательно иметь подсказки при написании своих скриптов. Например такие, какие появляются в Delphi (или в MSVS) при вводе точки после объекта или при вводе скобки после имени процедуры. Имеются в виду объекты и процедуры, объявленные и реализованные внутри нашей программы.


AKB>>"Изобретать велосипед" не хочется. Пожалуйста, поделитесь опытом, у кого он имеется. Может быть существуют фриварные или хотя бы платные модули, помогающие пользователям редактировать скрипты?


S>SAX Basic -- самая лучшая реализация "этого дела" на данный момент.


Действительно, СУПЕР! Ничего другое (кроме "родного" VBA) и близко не находится.

S>СтОит соответсвтенно -- 999$ single licence.


Они скидок не предоставляют? Типа если купить на всех десяток лицензий, то каждая подешевле выйдет? ЁКЛМН! $1000!

S>Если Ваши заказчики хорошо платят, то не факт, что вы сэкономите, если будете реализовывать вышеописанные фичи сами.


Не факт, что эта SAX будет поддерживаться еще несколько лет. Исходников не дают, значит есть опасность остаться у разбитого золотого корыта...
Alex
Re[3]: Исполнение в своих EXE пользовательских скриптов
От: Spaider Верблюд  
Дата: 17.08.04 08:11
Оценка: :)
Здравствуйте, AlexKB, Вы писали:

S>>СтОит соответсвтенно -- 999$ single licence.


AKB>Они скидок не предоставляют? Типа если купить на всех десяток лицензий, то каждая подешевле выйдет? ЁКЛМН! $1000!


http://www.sax.net/activex/basic/buy.aspx

Team License (3 Developers) -- 1999$
Не исключено, что в частном порядке сможете уболтать пару сотен

AKB>Не факт, что эта SAX будет поддерживаться еще несколько лет. Исходников не дают, значит есть опасность остаться у разбитого золотого корыта...


А я и не знаю.
Честно говорря, сейчас пишу приложение на Д8 с поддержкой скриптинга, но бюджет (читай, заказчик) не потянет SAX Basic, поэтому в процессе написания юзаю тыреный для удобств, а в релиз уйдет что-то попроще, самопальное
... << RSDN@Home 1.1.4 @@subversion >>
--
К вашим услугам,
Re[4]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 17.08.04 08:33
Оценка:
Здравствуйте, Spaider, Вы писали:

S>>>СтОит соответсвтенно -- 999$ single licence.


AKB>>Они скидок не предоставляют? Типа если купить на всех десяток лицензий, то каждая подешевле выйдет? ЁКЛМН! $1000!


S>http://www.sax.net/activex/basic/buy.aspx


S>Team License (3 Developers) -- 1999$

S>Не исключено, что в частном порядке сможете уболтать пару сотен

Имелось в виду, что реально можем потянуть за $200, т.е. даже за $800 дороговато будет...

AKB>>Не факт, что эта SAX будет поддерживаться еще несколько лет. Исходников не дают, значит есть опасность остаться у разбитого золотого корыта...


S>А я и не знаю.


Вот-вот...

S>Честно говорря, сейчас пишу приложение на Д8 с поддержкой скриптинга,


Сразу три вопроса...

1. Пользователи будут впечатывать свои скрипты или не будут? — Просто скрипты легко исполняются в Delphi-программах с поддержкой VBScript (или JavaScript, если он интереснее).

2. ListBox-ы c допустимыми словами высвечиваться будут или реально скрипты будут только исполняться? — Ради чего рассматриваем SAX.

3. В Delphi8 используете VCL Forms Application или Windows Forms Application? — У нас Windows-вариант не получается делать — интерфейс с плавающими окошками не обнаружен...

S>но бюджет (читай, заказчик) не потянет SAX Basic,


Аналогично. Потому и завел разговор о скидках...

S>поэтому в процессе написания юзаю тыреный для удобств,


Там ключ? Что защищало тырку? Типа намек на поделиться...

S>а в релиз уйдет что-то попроще, самопальное


Релиз — коммерческий софт, покупаемый "развитыми" странами или чего попроще, для СНГ? Наиболее интересны ответы на нумерованные три вопроса... ну и намек на тырку...
Alex
Re[5]: Исполнение в своих EXE пользовательских скриптов
От: Spaider Верблюд  
Дата: 17.08.04 08:49
Оценка:
Здравствуйте, AlexKB, Вы писали:


AKB>Сразу три вопроса...


AKB>1. Пользователи будут впечатывать свои скрипты или не будут? — Просто скрипты легко исполняются в Delphi-программах с поддержкой VBScript (или JavaScript, если он интереснее).


Теоретически будут, но практически пользователи в массе своей тупы до безоразия, так что...

AKB>2. ListBox-ы c допустимыми словами высвечиваться будут или реально скрипты будут только исполняться? — Ради чего рассматриваем SAX.


Реально, в версии 1, скорее всего, нет.
Собственно, суксь прикрутил именно для того, чтобы самому maintenance скрипты корпать.

AKB>3. В Delphi8 используете VCL Forms Application или Windows Forms Application? — У нас Windows-вариант не получается делать — интерфейс с плавающими окошками не обнаружен...


Пока не решил Это сложный вопрос, еще до конца не обдумал.
До гуёв дело пока не дошло, пишу модель данных.

Но всё больше склоняюсь к WinForms, т.к. мне GDI+ придется довольно интенсивно пользовать

S>>поэтому в процессе написания юзаю тыреный для удобств,


AKB>Там ключ? Что защищало тырку? Типа намек на поделиться...


Типа на варезах больше года валяецца. Ключ только на инсталляху и всё чики-пуки.

S>>а в релиз уйдет что-то попроще, самопальное


AKB>Релиз — коммерческий софт, покупаемый "развитыми" странами или чего попроще, для СНГ?


Не, заказчик пока с легким презрением относится к рынку СНГ.

AKB>Наиболее интересны ответы на нумерованные три вопроса... ну и намек на тырку...


Все намёки найдут ответы в denis(dot)dm(doggy)tut(dot)by
... << RSDN@Home 1.1.4 @@subversion >>
--
К вашим услугам,
Re[6]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 17.08.04 09:37
Оценка:
Здравствуйте, Spaider, Вы писали:

S>Собственно, суксь прикрутил именно для того, чтобы самому maintenance скрипты корпать.


Прикрученный SAX у пользователей работать будет? Или им твоего Дельфийского Экзешника не достаточно будет, потребуется инсталлировать пользователям SAX... и какой, кстати: рантайм (если есть) или дэвелоперский (жуть)?

AKB>>3. В Delphi8 используете VCL Forms Application или Windows Forms Application? — У нас Windows-вариант не получается делать — интерфейс с плавающими окошками не обнаружен...


S>Пока не решил Это сложный вопрос, еще до конца не обдумал.

S>До гуёв дело пока не дошло, пишу модель данных.

Не понятно, как в VCL прикручивать ActiveX, если нет соответствующего DLL.

S>Но всё больше склоняюсь к WinForms, т.к. мне GDI+ придется довольно интенсивно пользовать


Это что такое?

S>Типа на варезах больше года валяецца. Ключ только на инсталляху и всё чики-пуки.


Надо будет посмотреть... это название конкретного сайта?
Alex
Re[7]: Исполнение в своих EXE пользовательских скриптов
От: Spaider Верблюд  
Дата: 17.08.04 09:50
Оценка: 1 (1)
Здравствуйте, AlexKB, Вы писали:

AKB>Здравствуйте, Spaider, Вы писали:


S>>Собственно, суксь прикрутил именно для того, чтобы самому maintenance скрипты корпать.


AKB>Прикрученный SAX у пользователей работать будет? Или им твоего Дельфийского Экзешника не достаточно будет, потребуется инсталлировать пользователям SAX... и какой, кстати: рантайм (если есть) или дэвелоперский (жуть)?


Нет, у пользователей не будет, есссно, я же его не покупал.
Чтобы использовать суксь басик на стороне клиента, нужно поставить redestibutable (пара dll-ек и один ActiveX).

AKB>>>3. В Delphi8 используете VCL Forms Application или Windows Forms Application? — У нас Windows-вариант не получается делать — интерфейс с плавающими окошками не обнаружен...


S>>Пока не решил Это сложный вопрос, еще до конца не обдумал.

S>>До гуёв дело пока не дошло, пишу модель данных.

AKB>Не понятно, как в VCL прикручивать ActiveX, если нет соответствующего DLL.


Собтвенно для "прикручивания" сама по себе DLL не нужна, нужна либо Type Library (для раннего связывания)
или, чтобы только ProdID (для позднего связывания).

Естетсвенно, automation-объект должен быть зарегестрирован в системе, но добыть его для тебя -- обязанность внутренних механизмов COM.

S>>Но всё больше склоняюсь к WinForms, т.к. мне GDI+ придется довольно интенсивно пользовать


AKB>Это что такое?


Это GDI, только с плюсом Читай MSDN, информации предостаточно.

S>>Типа на варезах больше года валяецца. Ключ только на инсталляху и всё чики-пуки.


AKB>Надо будет посмотреть... это название конкретного сайта?


Это название нелегального софта вобще
... << RSDN@Home 1.1.4 @@subversion >>
--
К вашим услугам,
Re[4]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 17.08.04 09:58
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Помнится у Memo(как и у RichEdit) есть функция поиска границы слова от курсора вправо и влево, причем с заданием собственных разделителей. Может быть она вам поможет.


Как эта функция называется? У сишного CRichEditCtrl есть что-то на эту тему, а в Паскале найти пока не удалось.

W>Парсить все после каждого нажатия клавиши тоже не фонтан IMHO.


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

W>По крайней мере объекты, известные с прошлого парсинга, можно как-то использовать.


В одной строке у нас может быть несколько объектов и синтаксис текущего слова зависит от предыдущих слов в строке, поэтому предыдущие объекты мы используем... рекурсивно.

Запоминаем контрольную сумму составленного ListBox и заново заполняем его только по необходимости, вот тут много времени тратится.

W>Трудность наверное будет представлять отслеживание текущей scope (где курсор).


Трудностей много. Что такое scope?
Alex
Re: Исполнение в своих EXE пользовательских скриптов
От: kig Россия  
Дата: 17.08.04 13:40
Оценка: 2 (1)
Здравствуйте, AlexKB, Вы писали:

[]

Здесь взгляни. Может подойдет?
Re: Исполнение в своих EXE пользовательских скриптов
От: Batiskaf Израиль http://www.mult.ru/
Дата: 17.08.04 14:45
Оценка: 2 (1)
Здравствуйте, AlexKB, Вы писали:

AKB>Кто-нибудь уже наигрался с пользовательскими скриптами в своих программах?


AKB>Мы успешно исполняем VBScript — наш продукт с поддержкой пользовательских скриптов уже работает на сотне компьютеров, но!..


AKB>Пользователям весьма желательно иметь подсказки при написании своих скриптов. Например такие, какие появляются в Delphi (или в MSVS) при вводе точки после объекта или при вводе скобки после имени процедуры. Имеются в виду объекты и процедуры, объявленные и реализованные внутри нашей программы.


AKB>"Изобретать велосипед" не хочется. Пожалуйста, поделитесь опытом, у кого он имеется. Может быть существуют фриварные или хотя бы платные модули, помогающие пользователям редактировать скрипты?


Можешь заглянуть еще сюда, полезные у них штуки:
Link
Will I live tomorrow? Well I just can't say
But I know for sure — I don't live today.
Jimi Hendrix.
Re[5]: Исполнение в своих EXE пользовательских скриптов
От: wildwind Россия  
Дата: 17.08.04 15:51
Оценка: 1 (1)
Здравствуйте, AlexKB, Вы писали:

AKB>Как эта функция называется? У сишного CRichEditCtrl есть что-то на эту тему, а в Паскале найти пока не удалось.

Нужно послать RichEdit'у (только) сообщение EM_FINDWORDBREAK. В VCL обертки кажется нет.

AKB>Что такое scope?

Область видимости. Здесь я имел в виду список объектов, доступных в данной точке кода. Если, скажем, допустимо вызывать список не только после точки или скобки, а в любом месте, то построить его будет сложнее.

Парсингом только текущей строки вряд ли можно обойтись. Нужно ведь узнать, объект какого типа содержит в данный момент переменная слева от точки.
От модератора
От: Sinclair Россия https://github.com/evilguest/
Дата: 18.08.04 05:11
Оценка: :)
Обоим дискуссантам выношу по предупреждению за обсуждение контрафактного софта. В следующий раз наложу епитимью.
... << RSDN@Home 1.1.4 beta 1 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Исполнение в своих EXE пользовательских скриптов
От: Batiskaf Израиль http://www.mult.ru/
Дата: 18.08.04 06:17
Оценка:
Здравствуйте, kig, Вы писали:

kig>Здравствуйте, AlexKB, Вы писали:


kig>[]


kig>Здесь взгляни. Может подойдет?

Так это же на основе Dream controls, это еще наверное на них нужно лайсенс покупать.
Will I live tomorrow? Well I just can't say
But I know for sure — I don't live today.
Jimi Hendrix.
Re[6]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 18.08.04 06:57
Оценка:
Здравствуйте, wildwind, Вы писали:

AKB>>Как эта функция называется? У сишного CRichEditCtrl есть что-то на эту тему, а в Паскале найти пока не удалось.

W>Нужно послать RichEdit'у (только) сообщение EM_FINDWORDBREAK. В VCL обертки кажется нет.
Ясно. Спасибо.

AKB>>Что такое scope?

W>Область видимости. Здесь я имел в виду список объектов, доступных в данной точке кода. Если, скажем, допустимо вызывать список не только после точки или скобки, а в любом месте, то построить его будет сложнее.
Это верно, но с этим мы уже умеем справляться, на опыте нашего предыдущего скрипта.

W>Парсингом только текущей строки вряд ли можно обойтись. Нужно ведь узнать, объект какого типа содержит в данный момент переменная слева от точки.

Если в скрипте не использовать WITH и прочие приятные блоки (в предыдущей версии в нашем скрипте вообще не блоков), то тип определяется только содержимым текущей строки: либо объект из родительской программы, тогда мы знаем тип, естественно; либо объект объявлен в VBScript, тогда он типа Variant, точнее информация вытаскивается (в любом случае, кстати говоря) по его содержимому.
Сейчас мы собираемся использовать либо VBA (или SAX, эквивалентный VBA), а там парсингом всего текста будет заниматься продукт третьей фирмы, прикручиваемый к нашему EXE...
Alex
Re[8]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 18.08.04 07:35
Оценка:
Здравствуйте, Spaider, Вы писали:

S>>>Собственно, суксь прикрутил именно для того, чтобы самому maintenance скрипты корпать.

AKB>>Прикрученный SAX у пользователей работать будет? Или им твоего Дельфийского Экзешника не достаточно будет, потребуется инсталлировать пользователям SAX... и какой, кстати: рантайм (если есть) или дэвелоперский (жуть)?
S>Нет, у пользователей не будет, есссно, я же его не покупал.
Юридическую сторону вопроса чьей-либо конкретной разработки выяснять неинтересно.
Собственно, следующая строка содержит ответ на мой вопрос:

S>Чтобы использовать суксь басик на стороне клиента, нужно поставить redestibutable (пара dll-ек и один ActiveX).

Спасибо. Теоретически я себе примерно так всё и представляю, но практически его даже просто внутри D8 использовать пока не сумел.
Помощь нужна. Меню "Component" -> "Installed .NET Components...", закладка "ActiveX Components", у двух строчек поставил галочки:
Basic IDE Control
Basic NoUI Control
Далее [OK]... а дальше? В Tool Palette не появляется, как добавить — не вижу...

AKB>>Не понятно, как в VCL прикручивать ActiveX, если нет соответствующего DLL.

S>Собтвенно для "прикручивания" сама по себе DLL не нужна, нужна либо Type Library (для раннего связывания)
А она есть? Прошу прощения за чайниковские вопросы.

S>или, чтобы только ProdID (для позднего связывания).

Ну не работал я с подобными механизмами, как с ними управляться?

S>Естетсвенно, automation-объект должен быть зарегестрирован в системе, но добыть его для тебя -- обязанность внутренних механизмов COM.

Разве что я, видимо, должен каким-то образом уведомить COM об этом...

S>Это GDI, только с плюсом Читай MSDN, информации предостаточно.

...is the subsystem of the Windows XP operating system or Windows Server 2003 that is responsible for displaying information on screens and printers.
A graphics device interface, such as GDI+, allows application programmers to display information on a screen or printer without having to be concerned about the details of a particular display device. The application programmer makes calls to methods provided by GDI+ classes and those methods in turn make the appropriate calls to specific device drivers. GDI+ insulates the application from the graphics hardware, and it is this insulation that allows developers to create device-independent applications.

Т.е.
(1) на W2K и более ранних виндах не факт что будет работать?
(2) приложения и раньше почему-то получались device-independent, но теперь они будут правильно-независимыми?

S>>>Типа на варезах больше года...

AKB>>Надо будет посмотреть... это название конкретного сайта?
S>Это название нелегального софта вобще
Вот тут позволю себе не согласиться. Только что полазил по интерненту, посмотрел на контекст употребления слова WAREZ, типичные его определения звучат примерно так: "программы, не требующие регистрации", что заметно более широкое определение, нежели "нелегальный софт".
Alex
Re: Исполнение в своих EXE пользовательских скриптов
От: last shinji  
Дата: 18.08.04 07:35
Оценка: 2 (1)
Здравствуйте, AlexKB, Вы писали:

AKB>Может быть существуют фриварные или хотя бы платные модули, помогающие пользователям редактировать скрипты?


Вот пчелиный ВАСИК есть. Стоит недорого, с сорцами, правда написан, чуть чуть не да Delphi, по этому при встраивании в приложение придется немного помучаться (тк сорцы есть, думаю это возможно).
Носок исчез в гильбертовом пространстве. Туда ему и дорога.
Re[2]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 18.08.04 07:49
Оценка:
Здравствуйте, Batiskaf, Вы писали:

AKB>>Пользователям весьма желательно иметь подсказки при написании своих скриптов. Например такие, какие появляются в Delphi (или в MSVS) при вводе точки после объекта или при вводе скобки после имени процедуры. Имеются в виду объекты и процедуры, объявленные и реализованные внутри нашей программы.


AKB>>"Изобретать велосипед" не хочется. Пожалуйста, поделитесь опытом, у кого он имеется. Может быть существуют фриварные или хотя бы платные модули, помогающие пользователям редактировать скрипты?


B>Можешь заглянуть еще сюда, полезные у них штуки:

B>Link

Спасибо большое. Нам уже много линков накидали, все просмотреть не успеваем, поскольку через месяц beta-version должна уже работать...

Там есть выпадающие листбоксы подсказок, наподобие Дельфийских или ВБАшных? Если нет, то в остальном этот софт ничем не лучше нашей собственной разработки.
Alex
Re[2]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 18.08.04 07:56
Оценка:
Здравствуйте, last shinji, Вы писали:

AKB>>Может быть существуют фриварные или хотя бы платные модули, помогающие пользователям редактировать скрипты?


LS>Вот пчелиный ВАСИК есть. Стоит недорого, с сорцами, правда написан, чуть чуть не да Delphi, по этому при встраивании в приложение придется немного помучаться (тк сорцы есть, думаю это возможно).


Спасибо большое...

Там есть выпадающие листбоксы подсказок, наподобие Дельфийских или ВБАшных? Если нет, то... всё же... нам даже это красивое произведение не подходит, к сожалению.
Alex
Re[9]: Исполнение в своих EXE пользовательских скриптов
От: Spaider Верблюд  
Дата: 18.08.04 07:57
Оценка: 2 (1) :)
Здравствуйте, AlexKB, Вы писали:

AKB>Спасибо. Теоретически я себе примерно так всё и представляю, но практически его даже просто внутри D8 использовать пока не сумел.

AKB>Помощь нужна. Меню "Component" -> "Installed .NET Components...", закладка "ActiveX Components", у двух строчек поставил галочки:
AKB>Basic IDE Control
AKB>Basic NoUI Control
AKB>Далее [OK]... а дальше? В Tool Palette не появляется, как добавить — не вижу...

Я меня эта херь появляется только для Windows Forms приложений. Похоже, так и надо.
Я изначально пошёл по более другому пути. Сделал из SB6ENT.OCX сборку с помощью tlbexp и просто подключил её в reference'ы проекта.

AKB>>>Не понятно, как в VCL прикручивать ActiveX, если нет соответствующего DLL.

S>>Собтвенно для "прикручивания" сама по себе DLL не нужна, нужна либо Type Library (для раннего связывания)
AKB>А она есть? Прошу прощения за чайниковские вопросы.

S>>или, чтобы только ProdID (для позднего связывания).

AKB>Ну не работал я с подобными механизмами, как с ними управляться?

Ну, в двух словах нельзя объяснить, да и не поможет это, нужно хотя бы ключевые понятия COM освоить.

S>>Это GDI, только с плюсом Читай MSDN, информации предостаточно.

AKB>Т.е.
AKB>(1) на W2K и более ранних виндах не факт что будет работать?

Нет, вполне себе работает. Вся функциональность GDI+ фактически находится в gdiplus.dll. Если эту DLL положить в пределах досягаемости, работать будет хоть на Win98.

AKB>(2) приложения и раньше почему-то получались device-independent, но теперь они будут правильно-независимыми?


Ну, фактически GDI+ -- это латание дыр. Дело в том, что GDI (старый) жутко тормозной и не так чтобы фунциональностью богатый. Вот и переписали всё заново, как они это умеют.

S>>>>Типа на варезах больше года...

AKB>>>Надо будет посмотреть... это название конкретного сайта?
S>>Это название нелегального софта вобще
AKB>Вот тут позволю себе не согласиться. Только что полазил по интерненту, посмотрел на контекст употребления слова WAREZ, типичные его определения звучат примерно так: "программы, не требующие регистрации", что заметно более широкое определение, нежели "нелегальный софт".

Замнём, а то придёт злобный дядя Sinclair и будет всем нам ZX Spectrum...
... << RSDN@Home 1.1.4 @@subversion >>
--
К вашим услугам,
Re[3]: Исполнение в своих EXE пользовательских скриптов
От: Batiskaf Израиль http://www.mult.ru/
Дата: 18.08.04 08:14
Оценка:
Здравствуйте, AlexKB, Вы писали:

AKB>Здравствуйте, Batiskaf, Вы писали:


AKB>>>Пользователям весьма желательно иметь подсказки при написании своих скриптов. Например такие, какие появляются в Delphi (или в MSVS) при вводе точки после объекта или при вводе скобки после имени процедуры. Имеются в виду объекты и процедуры, объявленные и реализованные внутри нашей программы.


AKB>>>"Изобретать велосипед" не хочется. Пожалуйста, поделитесь опытом, у кого он имеется. Может быть существуют фриварные или хотя бы платные модули, помогающие пользователям редактировать скрипты?


B>>Можешь заглянуть еще сюда, полезные у них штуки:

B>>Link

AKB>Спасибо большое. Нам уже много линков накидали, все просмотреть не успеваем, поскольку через месяц beta-version должна уже работать...


AKB>Там есть выпадающие листбоксы подсказок, наподобие Дельфийских или ВБАшных? Если нет, то в остальном этот софт ничем не лучше нашей собственной разработки.

Есть возможность выпадающее меню выбросить, только содержимое менюхи нужно ручками заполнять, не смотрел как это делается, наверняка колбэк какой то приходит, надеюсь что с типом обьекта, вобщем покопайся, посмотри демохи (Link, документацию, лайсенс у них кажется не очень дорогой.
Will I live tomorrow? Well I just can't say
But I know for sure — I don't live today.
Jimi Hendrix.
Re[3]: Исполнение в своих EXE пользовательских скриптов
От: last shinji  
Дата: 18.08.04 08:21
Оценка: 2 (1)
Здравствуйте, AlexKB, Вы писали:

AKB>Там есть выпадающие листбоксы подсказок, наподобие Дельфийских или ВБАшных? Если нет, то... всё же... нам даже это красивое произведение не подходит, к сожалению.


Подсказок там нет. Хм.. есть такая штука как VBA SDK. Встраиваемый VB. Там вся M$`овская Intellisence есть. Однако трубует COM`ов.
Носок исчез в гильбертовом пространстве. Туда ему и дорога.
Re[4]: Исполнение в своих EXE пользовательских скриптов
От: AlexKB  
Дата: 18.08.04 16:10
Оценка:
Здравствуйте, last shinji, Вы писали:

AKB>>Там есть выпадающие листбоксы подсказок, наподобие Дельфийских или ВБАшных? Если нет, то... всё же... нам даже это красивое произведение не подходит, к сожалению.


LS>Подсказок там нет. Хм.. есть такая штука как VBA SDK. Встраиваемый VB. Там вся M$`овская Intellisence есть. Однако трубует COM`ов.


VBA имеет свои недостатки, в полном соответствии со своей ценой порядка 7 долларов. Кстати, не подписчики MSDN могут его использовать? На сайте этот момент неясно прописан.

И вообще... Кто-нибудь научился использовать VBA SDK?
Alex
Re[5]: Исполнение в своих EXE пользовательских скриптов
От: last shinji  
Дата: 18.08.04 16:57
Оценка:
Здравствуйте, AlexKB, Вы писали:

AKB>VBA имеет свои недостатки, в полном соответствии со своей ценой порядка 7 долларов. Кстати, не подписчики MSDN могут его использовать? На сайте этот момент неясно прописан.


Использовать то могут , но вот ключи к продукту скорее всего по паспорту .net`овскому получать придется. Сам воочию общался только с версией 6.0. С нее много воды утекло.

AKB>И вообще... Кто-нибудь научился использовать VBA SDK?


С ним примеры идут, калькулятор автоматизируют, дедушку Мерлина, которым MS Agent прикидывается, и много всего другого. Сейчас, может быть и новое, что появилось.
Носок исчез в гильбертовом пространстве. Туда ему и дорога.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.