|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
Добрый день. Уважаемые коллеги подскажите, пожалуйста, как можно создать пользовательское контекстное меню в CacheStudio без использования системы контроля версии. Немного о назначении: Я написал программу (плагин) для создания отчетов с помощью FastReport. Плагин вызывается через контекстное меню в CacheStudio, с применением системы контроля версии. Хотелось бы уйти от такой завязки, так как класс обработки SourceContro может быть один активным. Для большей наглядности проект выложен: https://github.com/MyasnikovIA/CacheFastReport Инструкция по развертыванию там же... Заранее благодарю за любую помощь по озвученной теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 06:28 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
а почему мы код классов не выложить там же в репозитории? пока вообще не понятно, зачем нужен класс контроля версий, чтобы запустить exe? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 10:35 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
DAiMor, В прицепе вы правы контекстное меню необходимо для запуска файла EXE с входными параметрами для подключения (имя, пароль, область имен, и класс редактирования, и другие параметры). Динамическое создание классов реализовано для простоты инсталляции. А так же при генерации классов создаются параметры с именем и паролем для подключения программы в фоновом режиме. Имя и пароль прописываются те, под которым произошло подключение Код: html 1. 2. 3. 4. 5. 6. 7. 8.
Спасибо за указание недочета, я добавил github: https://github.com/MyasnikovIA/CacheFastReport/tree/master/cls Немного уточню задачу над которой я пытаюсь найти решение: Задача стоит в запуске сторонней программы с параметрами с параметрами на подключение и именем объекта , который будет редактироваться. Для наглядности запуск хотелось бы производить из студии (Через контекстное меню) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.01.2019, 17:50 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
Небольшое дополнение о способе генерации класса из программы. В ниже переведенном скриншето наглядно показан принцип генерации класса из кода (это так для общего развития) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 04:42 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
MyasnikovIA, Один из вариантов - создать шаблон https://docs.intersystems.com/ens201513/csp/docbook/DocBook.UI.Page.cls?KEY=GSTD_Templates#GSTD_Templates_Custom и в нем сделать $zf(-1) или $zf(100) для вызова EXE ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 05:49 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
logist, Идея хорошая, но “FastReportPlayer.exe” включает в себя визуальный редактор отчета. Плюс к тому же после создания формы отчета, при нажатии на кнопку “Save to cls”, происходит вычитывание структуры макета и на основании этой структуры генерируется класс с методами (макет отчета тоже помещается внутри генерируемого класса). Если поместить класс в шаблон, то не будет возможности визуального редактирования макета отчета. Но идея в действительности интересная, но возникает проблемка с вызовом редактирования ранее написанного класса. С другой стороны, я не знал способа создания шаблонов и использую в другом проекте. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 06:18 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
MyasnikovIA, Ну а через класс контроля версий оно же тоже через $zf вызывается? Или там как то именно на клиенте можно что то запустить? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 08:39 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
logistMyasnikovIA, Ну а через класс контроля версий оно же тоже через $zf вызывается? Или там как то именно на клиенте можно что то запустить?в классе контроля версий вызывается самой студией. Без $zf, там просто в одном из методов нужно ответить что нужно запустить команду и путь к команде ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 08:54 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
logist, В классе контроля версий есть метод “UserAction” Среди входных аргументов есть переменная “Target” и “Action” Target – указывает команду для запуска из студии Action – указывает тип запускаемой команды Action=2 - Запуск окна с WebView (IE на стороне клиента) Action=3 - Запуск внешней программы на стороне клиента Увидев это я предположил, что должен быть отдельный класс для обработки вызова контекстного меню в студии, что и породило эту тему на форуме. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 09:52 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
MyasnikovIA, OK, у меня просто весь контроль версий на стороне сервера через $zf - я даже не знал что на клиенте можно делать Тогда сложнее конечно - может быть IE & ActiveX? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 10:07 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
logist, Я уточню вопрос и конечную цель: Хотелось бы узнать имя класса Cache', который отвечает за вызов контекстного меню в CacheStudio Запуск EXE файла можно производить разными способами. Один из реализованных решений это система контроля версий, в который встроен механизм контекстного меню. Там же можно добавлять пункты в верхнее меню. Главной проблемой такого подхода, это то, что класс обработчик системы контроля версий может быть только один. И если ранее была установлена какая-то версия , тогда установив в качестве обработчика "%ZFastReport.SourceControl" я переопределю старый обработчик. По этому необходимо найти иной способ вызова из студии. В принципе FastReportPlayer.exe может запускаться как автономное приложении, но при этом каждый раз нужно будет указывать параметры для подключения к БД и имя класса для редактирования(Если класса нет, то он будет сгенерирован). Если получится найти решение, то в дальнейшем будет написан инсталлятор к этой программе, которая после установке допишет свой запуск в контекстное меню. Все это позволит расширять возможности CacheStudio, через инсталляцию плагинов IE & ActiveX не решат проблему вызова из CacheStudio. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 11:17 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
В классе контроля версий состав меню (в т.ч. контекстного) определяется блоком XData Menu. Может быть возможно при инициализации класса при помощи %Dictionary.XDataDefinition изменять XData и динамически добавлять требуемые пункты меню? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 13:03 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
vcoshak, Если не получится локализовать класс отвечающий отдельно за контекстное меню в CacheStudio, тогда так и придется сделать: 1) Определить активную систему контроля версии. 2) Если её нет, тогда сделать активной “ZFastReport.SourceControl”. 3) Если она есть, тогда парсить структуру класса, выбранного как контроллер версий, и добавлять в неё свои изменения. Конечно сложная, но вполне реализуемая задача (средствами Cache конечно). Спасибо за идею. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 14:40 |
|
Как создать пользовательское контекстное меню без использования системы контроля версии?
|
|||
---|---|---|---|
#18+
MyasnikovIAЯ уточню вопрос и конечную цель: Хотелось бы узнать имя класса Cache', который отвечает за вызов контекстного меню в CacheStudioОн настраивается. Администрирование -> Конфигурация -> Дополнительные настройки MyasnikovIAИ если ранее была установлена какая-то версия , тогда установив в качестве обработчика "%ZFastReport.SourceControl" я переопределю старый обработчик. Ну допиши в старый, тоже мне проблема. MyasnikovIAЕсли получится найти решение, то в дальнейшем будет написан инсталлятор к этой программе, которая после установке допишет свой запуск в контекстное меню. Все это позволит расширять возможности CacheStudio, через инсталляцию плагиновДолжна появиться необходимость в массовом изменении систем контроля версий для такой доработки. Слабо в это верится. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 21:44 |
|
|
start [/forum/topic.php?fid=39&fpage=4&tid=1556216]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 239ms |
total: | 375ms |
0 / 0 |