Страница 1 из 1

Как плагину узнать свою папку, откуда он запущен?

СообщениеДобавлено: Ср авг 27, 2014 4:24 am
brodya
Ещё один вопрос остался: в vnc плагине, в самом архиве, отдельно лежит папка с UltraVNC. Как плагину указать, что необходимо подгружать внешний файл находящийся в zip-архиве? Пробовал указывать файл без указания пути, но тогда плагин ищет его в каталоге в котором находится zip-архив.

Re: Как плагину узнать свою папку, откуда он запущен?

СообщениеДобавлено: Ср авг 27, 2014 8:32 am
Алексей Пикуров
Я отделил ваше сообщение. Один вопрос - одна тема.

Вам нужно выполнить
Код: Выделить всё
mcGetDataFromMyChat(MCC_Get_PluginFolder, '');

чтобы узнать папку, где запущен плагин, а затем уже по относительному пути вы сможете сделать ShellExecute или что-то в этом духе.

Re: Как плагину узнать свою папку, откуда он запущен?

СообщениеДобавлено: Ср авг 27, 2014 10:01 am
brodya
Код: Выделить всё
mcGetDataFromMyChat(MCC_Get_PluginFolder, '');

Что нужно передавать параметром?
mcGetDataFromMyChat(MCC_Get_PluginFolder, 'MyPlugin'); ничего не возвращает
mcGetDataFromMyChat(MCC_Get_PluginFolder, ''); Происходит "разрушительный сбой"

Re: Как плагину узнать свою папку, откуда он запущен?

СообщениеДобавлено: Ср авг 27, 2014 10:13 am
Алексей Пикуров
Параметром передаётся JSON объект с указанием имени плагина, путь к которому нужно получить, простите, не указал это в своём ответе ранее.
Пример:
Код: Выделить всё
var
  s_path, st: string;
  JSONobj: ISuperObject;
begin
  st := mcGetDataFromMyChat(MCC_Get_PluginFolder, '{"Name":"' + pluginName+ '"}');

  JSONobj   := TSuperObject.ParseString(StringToOleStr(st), false);

  s_path := JSONobj.S['Folder'] + 'vnccl\';

  JSONobj.Clear(true);
  JSONobj := nil;
......