cojoc
|
Posted: Sun Jul 31, 2011 17:43 Post subject: |
|
|
Часть ответа автора на моё письмо от 30.07.11:
"Это известная бага. Ошибка происходит из-за отсутствия инициализации в плагине. Её можно решить добавив в исходные коды в файл main.cpp следующие строчки:
HINSTANCE hinst;
HMODULE FLibHandle=0;
BOOL APIENTRY DllMain ( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
hinst=(HINSTANCE)hModule;
break;
case DLL_PROCESS_DETACH:
if (FLibHandle)
FreeLibrary(FLibHandle);
FLibHandle=NULL;
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}
Патч был предложен scharom@bk.ru чуть больше, чем пару лет назад. К сожалению, у меня нет возможности протестировать этот патч. Если патч не поможет, в опциях проекта можно указать использование инициализации, размер плагина увеличится в пару раз, но плагин будет работать."
и
"На официальном сайте Total Commander'а (ghisler.com) имеется старая версия плагина 0.2. Она была написана на delphi. Старая версия должна несильно отличаться по функционалу, и должна прекрасно работать.
Прогресс за 5 лет ушел далеко, плагин устарел и не поддерживает определение современных компиляторов, для этого нужна обновлённая база сигнатур. Без неё плагин не актуален. Сигнатуры были первоначально взяты из PETools, однако эта утилита давно не обновляется. Maciej Adamczyk (maciej_adamczyk@o2.pl) поделился в 2006 году более актуальными сигнатурами. Я не смог найти быстрым гуглением что-нибудь более новое. Как-то так...
Сергей." |
|