Execute command via plugin

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Execute command via plugin

Post by 4ekucT »

А можно ли иcпользуя текущее FARAPI (Revision: 1.226 09.04.2003) выполнить внешнюю комманду (тока помодному с префиксами плугинов фара типа Info.CoolExec("far:view <1>DOC2Far !\!.!"); или
Info.CoolExec("far:macro post F11 A Enter"); )? Ну вы поняли куда я клоню...
Вообщем я так подозреваю что пока такого нельзя... Было бы прикольно сделать такую возможность. Причем выполняемую комманду не ложить в историю.

ЗЫ: Очень интересно что новенького в FARAPI? Я тут смотрел PictureViewAdvanced, так там что то с вьювером нового появилось )))
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Execute command via plugin

Post by t-rex »

4ekucT wrote:А можно ли иcпользуя текущее FARAPI (Revision: 1.226 09.04.2003) выполнить внешнюю комманду (тока помодному с префиксами плугинов фара типа Info.CoolExec("far:view <1>DOC2Far !\!.!"); или
Info.CoolExec("far:macro post F11 A Enter"); )? Ну вы поняли куда я клоню...
Вообщем я так подозреваю что пока такого нельзя... Было бы прикольно сделать такую возможность. Причем выполняемую комманду не ложить в историю.
Не такое сделать не удасться, тем более те примеры что ты привел можно сделать и в самом плагине.
4ekucT wrote:ЗЫ: Очень интересно что новенького в FARAPI? Я тут смотрел PictureViewAdvanced, так там что то с вьювером нового появилось )))
Добавленний в api не мало. Надеюсь скоро будет готов whatsnew.
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

Хмм. А почему не удастся, веди FARCmds это делает, вот выколупать бы из него код и сделать сервисную функцию. Путь не для плугин апи, а хотябы так... для часного пользования. А хотя да это ведь ему приходит коммандная срока и он ее парсит, а не наоборот...
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

4ekucT wrote:Хмм. А почему не удастся, веди FARCmds это делает, вот выколупать бы из него код и сделать сервисную функцию. Путь не для плугин апи, а хотябы так... для часного пользования. А хотя да это ведь ему приходит коммандная срока и он ее парсит, а не наоборот...
Есть API чтоб вызывать макросы, что и делает FARCmds для macro:post
(и ещё пару плагинов тоже).
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

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

Причем подобным образом выкручивались многие плагинописатели:
TrueTemplate
BlockPro
ExternalFitler (не уверен что название точное)
ExternalCommand (не уверен что название точное)

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

Может стоит подумать над этим... Прочувствовать так сказать :?
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Post by t-rex »

Но запускать плагины по префиксам всеровно тебе ни кто не даст так как это не реально, потому что невозможно предвидеть что сделает плагин который запускаеться. А запуск exe не так уж и трудно сделать с createprocess.
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

Ну вообщем палитика партии ясна ))
Хош запустить плугин - пускай макросом (PostMacro)
Хош запустить процесс - CreateProcess
Post Reply

Return to “Разработка плагинов”