| View previous topic :: View next topic |
| Author |
Message |
Omega
Joined: 30 Sep 2011 Posts: 8
|
Posted: Fri Sep 30, 2011 2:12 pm Post subject: AkelPad и Automation |
|
|
Попытался использовать AkelPad через Automation из MS Access и ничего не получается Это вообще реально? Если да - ткните, пожалуйста, где можно об этом почитать. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1888 Location: Vinnitsa, Ukraine
|
Posted: Fri Sep 30, 2011 2:39 pm Post subject: |
|
|
| Omega, интересно, а что именно не получается? И меня всё получается. |
|
| Back to top |
|
 |
Omega
Joined: 30 Sep 2011 Posts: 8
|
Posted: Fri Sep 30, 2011 3:14 pm Post subject: |
|
|
FeyFre, ну я бы сказал, что практически ничего не получается.
Set objApp = GetObject("", "AkelPad.document")
Set objOfficeApp = GetObject(, "AkelPad.document")
Set objOfficeApp = CreateObject("AkelPad.document")
это все возвращает ошибку. Но видимо изначальная проблема в том, что я не понимаю, как зарегистрировать в системе AkelPad как Automation сервер, сам по себе он не зарегистрирован. Попытка добавить его вручную тоже к успеху не приводит. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1888 Location: Vinnitsa, Ukraine
|
Posted: Fri Sep 30, 2011 3:34 pm Post subject: |
|
|
Omega
"А кто Вам сказал, Дринкинс, что это американский сериал?" (с) |
|
| Back to top |
|
 |
Omega
Joined: 30 Sep 2011 Posts: 8
|
Posted: Fri Sep 30, 2011 5:28 pm Post subject: |
|
|
| FeyFre, если можете помочь по теме, то помогите, пожалуйста. Если просто так зашли в тему, то спасибо, что заглянули, идите дальше. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2507 Location: Киев, Русь
|
Posted: Fri Sep 30, 2011 7:46 pm Post subject: |
|
|
Omega
Когда-то старый АкелПад (Скриптс-сплагин) регистрировался, но это убрали.. и для большинства случаев правильно сделали, но то, что тот кусочек потеряли, это жаль. Если бы ещё можно было окно Акела встраивать как OLE, то вообще было бы прикольно! У меня редактор лотусскрипта только что по эклипсовски красивый, а по функционалу убогий до горя; уже не раз думал "а вот бы заменить АкелПадом") |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4638
|
Posted: Sat Oct 01, 2011 5:55 am Post subject: |
|
|
Omega
Ни AkelPad, ни плагины не регистрируются в системе как COM-сервер. А какая конкретная задача стоит? |
|
| Back to top |
|
 |
Omega
Joined: 30 Sep 2011 Posts: 8
|
Posted: Sat Oct 01, 2011 12:09 pm Post subject: |
|
|
| Есть БД на MS Access с формочками и тыды, в базе среди прочего хранятся данные в формате Xml, которые нужно редактировать. Обычное поле редактирования MS Access для этого подходит очень слабо, несколько раз искал текстовые редакторы с подсветкой синтаксиса и поддержкой автоматизации, чтобы можно было использовать либо как in либо как out proc server. Пока ничего такого не нашел. Недавно перешел на AkelPad, как основной редактор для xml, все очень удобно и хорошо. Думал что удастся попользовать и через автоматизацию прямо из БД. |
|
| Back to top |
|
 |
Fr0sT
Joined: 24 Jul 2007 Posts: 850
|
Posted: Sat Oct 01, 2011 2:53 pm Post subject: |
|
|
| Как временное решение можно скидывать во временный файл и уже на него натравливать Акел |
|
| Back to top |
|
 |
Omega
Joined: 30 Sep 2011 Posts: 8
|
Posted: Sat Oct 01, 2011 8:47 pm Post subject: |
|
|
| Fr0sT, да, такое в-общем очевидное решение, конечно, приходило в голову, и, к сожалению, оно не подходит по разным причинам. Буду искать дальше ... |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4638
|
Posted: Tue Oct 04, 2011 2:49 pm Post subject: |
|
|
Omega
Идея встроить окно AkelPad'а в другое приложение показалась интересной и это в разрабатываемой версии было реализовано (сборка осуществляется через Library-Build-Eng.cmd).
Но, чтобы использовать библиотеку в среде COM, должен быть какой-либо посредник между AkelPad.dll и приложением, в которое предполагается встроить окно AkelPad'а. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1888 Location: Vinnitsa, Ukraine
|
Posted: Tue Oct 04, 2011 6:00 pm Post subject: |
|
|
| Quote: | Идея встроить окно AkelPad'а в другое приложение показалась интересной и это в разрабатываемой версии было реализовано (сборка осуществляется через Library-Build-Eng.cmd).
Но, чтобы использовать библиотеку в среде COM, должен быть какой-либо посредник между AkelPad.dll и приложением, в которое предполагается встроить окно AkelPad'а. | В этом же AkelPad.dll реализовать ActiveX/Ole классы. Только не плохо бы убедится что-бы можно было бы создать много экземпляров этого добра(т.е. не использовать глобальных рабочих данных, только служебные COM). А плагины у нас большинство(если не все) на глобальные данные завязаны. Работы много.
(Кстати, просьба пофиксить последнюю строчку akelpad_4\AkelEdit\Build.cmd
if defined EXITCODE exit %2 %EXITCODE%
а то она мне родительский шел закрывает вопреки моему желанию)
ЗЫ: я было намылился делать плагин к Lister-у(просмотр в TotalCmd), но так как сам AkelEdit.Dll магии не содержит, ибо магия в плагинах и самом редакторе, то отложил проект до лучшим времен(что-бы не соврать, было это 20.03.2011). Теперь значительно легче будет. |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4638
|
Posted: Wed Oct 05, 2011 11:42 am Post subject: |
|
|
| FeyFre wrote: | (Кстати, просьба пофиксить последнюю строчку akelpad_4\AkelEdit\Build.cmd
if defined EXITCODE exit %2 %EXITCODE%
а то она мне родительский шел закрывает вопреки моему желанию) |
| Code: | | call Build.cmd /S /B |
|
|
| Back to top |
|
 |
Fr0sT
Joined: 24 Jul 2007 Posts: 850
|
Posted: Wed Oct 05, 2011 12:27 pm Post subject: |
|
|
Легче уж Exit /b сделать в Build.cmd
Или вообще
SET ERRORLEVEL=%EXITCODE%
GOTO EOF |
|
| Back to top |
|
 |
Omega
Joined: 30 Sep 2011 Posts: 8
|
Posted: Tue Oct 11, 2011 11:40 am Post subject: |
|
|
| Instructor wrote: | Omega
Идея встроить окно AkelPad'а в другое приложение показалась интересной и это в разрабатываемой версии было реализовано.
Но, чтобы использовать библиотеку в среде COM, должен быть какой-либо посредник между AkelPad.dll и приложением, в которое предполагается встроить окно AkelPad'а. |
Не обязательно inproc server, наверное подошел бы и outproc, чтобы AkelPad можно было вызвать, загрузить в него документ, указать формат содержимого (сейчас пока файл не сохранишь подсветка не работает) и потом забрать измененный документ. |
|
| Back to top |
|
 |
|