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

Плагин не всегда подгружается к TC

Добавлено: Пт фев 17, 2006 08:45
vampir_infernal
Здравствуйте.
Я написал Lister-plugin к тоталу. Но он не всегда подгружается, то есть по нажатию F3 на нужном файле открывается не окно моего плагина, а стандартное окно листера. При этом в настройках плагинов напротив строки с файлом плагина нет идентификационной строки. Перезапуск TC эту проблему не решает. Если запустить TC и полазить по папкам некоторое время, то иногда плагин подгружается и работает нормально. Зависимости от файлов нет: на Вин98 так же запускается с переменным успехом, а вот на машине с 64-битным процессором еще ниразу не запустился. При написании использовал стандартный listplug.pas.
Подскажите пожалуйста, в чем может быть проблема.
Спасибо.

Добавлено: Пт фев 17, 2006 18:08
Parcan
vampir_infernal
а ты в дебаге смотрел?

Добавлено: Пт фев 17, 2006 18:58
Lev

Код: Выделить всё

При этом в настройках плагинов напротив строки с файлом плагина нет идентификационной строки.
1) Попробуй снести плагин, поставить заново
2) Попробуй прописать идентификатор вручную
3) Попробуй нажать "4" в листере, если сработает, перемести свой плагин выше в списке плагинов

Добавлено: Пт фев 17, 2006 19:24
vampir_infernal
1) Попробуй снести плагин, поставить заново
пробовал, так подгружается чаще, но не всегда.
2) Попробуй прописать идентификатор вручную
в wincmd.ini пробовал все в ручную прописывать, строка появляется, но все равно не грузится.
а ты в дебаге смотрел?
в каком дебаге? объясните пожалуйста.

Добавлено: Пт фев 17, 2006 19:31
vampir_infernal
уважаемые! те, кто писал плагины на Delphi, дайте пожалуйста, кому не жалко, листинг вашей процедуры ListGetDetectString для сравнения. спасибо.

Добавлено: Пт фев 17, 2006 23:05
Nik

Код: Выделить всё

procedure ListGetDetectString(DetectString: pchar; maxlen: integer); stdcall;
begin
 StrLCopy(DetectString, PChar(PARSE_FUNCTION), MaxLen);
end;

Добавлено: Пт мар 03, 2006 14:36
vampir_infernal
Нашел причину. Дело было в том, что плагин (или ТС) не видел библиотеку, без которой плагин не работает. Проблему решил, просто скопировав нужную библиотеку в SYSTEM32. Всем спасибо. Можете закрывать тему.

Добавлено: Вт мар 07, 2006 20:30
vserd
vampir_infernal
Нашел причину. Дело было в том, что плагин (или ТС) не видел библиотеку, без которой плагин не работает. Проблему решил, просто скопировав нужную библиотеку в SYSTEM32
поробуйте таки разобраться плагин не видет или тотал. Если плугин, тогда вы, как разработчик, должны ввести насторойку пути к нужной DLL. Не забудьте об переменных окружения (%Var_NAME%), иначе вас достанут авторы сборок, да и рядовые пользователи тоже.
Учтите что на win9x системах SYSTEM32 заменяется на System. Пускай таких пользователей мало, но они есть, и их игнорирование не рекомендуется.

Добавлено: Сб мар 11, 2006 21:12
vampir_infernal
vserd,
не важно, как называется папка. Нужно чтобы она входила в переменную окружения %PATH%

Если я правильно вас понял, то %Var_NAME% означает, что обращение к вышеозначенной переменной %PATH% будет выглядеть как %Var_PATH%. Буду пробовать разные варианты, спасибо.