Pygin — Python adapter
Python adapter
Latest post of the previous page:
Это самого фар ограничение? Потому что терминологии Python такой штуки как __init__.py не существует - это же не модуль, а обозначение импортируемого package.- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Python adapter
Это не должно помешать научить FarCmds загружать плагины из указанной папки, рекурсивноDrKnS wrote:Увы, нельзя - в терминологии фара папка плагином не бывает.
Python adapter
Так а как адаптер определяет, что перед ним плагин?
https://github.com/trexinc/evil-program ... in.cpp#L84
Far что, подсовывает адаптеру все файлы на тест по очереди?
https://github.com/trexinc/evil-program ... in.cpp#L84
Far что, подсовывает адаптеру все файлы на тест по очереди?
Python adapter
4900 крэшится через раз при загрузке вот такого плагина.
Code: Select all
__title__ = "Python Recorder"
def GetGlobalInfoW(info):
global __title__
info["Title"] = __title__
info["Author"] = "Far group"
info["Desc"] = "Python plugin example"
info["Guid"] = "31A0D11E-B9D8-4A9B-88C7-2D2983802C51"
def GetPluginInfoW(info):
global __title__
info["MenuString"] = __title__
info["Guid"] = "DAF1257B-E011-4B5A-B5DC-732581BDF3BA";
def OpenW(info):
print("Hello Python World\n")
- Attachments
-
- clipcrop.png (8.02 KiB) Viewed 12357 times
Python adapter
После обновления до последнего pygin.7z (379105) теперь вылет на другой функции. Тоже через раз.
Ещё бывает такое:
Ещё бывает такое:
Python adapter
379105 - это размер архива pygin.7z Не знаю как по-другому идентифицировать. Смена гуидов ничего не дала. Сейчас попробую с последней сборкой Far'а.
Last edited by techie on Fri 28 Apr, 2017 10:40, edited 1 time in total.
Python adapter
Не помогло. Вот что выводит, если кнопку Stack нажать.
Это 32-битная система, может в этом дело? Или в конфликтах с Python garbage collector?
Это 32-битная система, может в этом дело? Или в конфликтах с Python garbage collector?
Python adapter
Скачал PDB, подложил в %FARHOME%. Теперь Stack вот такой:
Code: Select all
0x685D1DD0 Free
0x685C99FA Free
0x685D23BD Free
0x0116F953 Plugin::ExecuteFunctionSeh<Plugin::ExecuteStruct<0,1>,GlobalInfo * &> (c:\src\unicode_far\plclass.hpp:308)
0x0116D360 seh_invoke<<lambda_aea1a5ab9ab4599c75cf5767da215209>,<lambda_e653ac410c4258a6ce9d02fe87349247>,<lambda_c78e72e91534c6804eda7df20d644122> > (c:\src\unicode_far\f
0x0116BC50 Plugin::GetGlobalInfo (c:\src\unicode_far\plclass.cpp:798)
0x0116B5BA Plugin::LoadData (c:\src\unicode_far\plclass.cpp:581)
0x0118F4B8 PluginManager::LoadPlugin (c:\src\unicode_far\plugins.cpp:235)
0x011901FD PluginManager::LoadPlugins (c:\src\unicode_far\plugins.cpp:436)
0x01054134 ControlObject::Init (c:\src\unicode_far\ctrlobj.cpp:94)
0x0114BEF6 MainProcess (c:\src\unicode_far\main.cpp:227)
0x0114E635 mainImpl (c:\src\unicode_far\main.cpp:793)
0x0114E811 wmain_seh (c:\src\unicode_far\main.cpp:823)
0x0114E90E <lambda_93e8a75ad0d6631789a8313e38bae319>::operator() (c:\src\unicode_far\main.cpp:851)
0x0114E982 seh_invoke<<lambda_93e8a75ad0d6631789a8313e38bae319>,<lambda_eb6f9db54eb0b154dda06e08ba319848>,<lambda_b1c7d289a037a6c5b48976ae0d4fd300> > (c:\src\unicode_far\f
0x0114E8B1 main (c:\src\unicode_far\main.cpp:845)
0x011F771E __scrt_common_main_seh (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253)
0x7719D3B1 BaseThreadInitThunk
0x77911527 RtlInitializeExceptionChain
0x779114FA RtlInitializeExceptionChain
Python adapter
Про повторном запуске сверху добавилось ещё:
Code: Select all
0x66C0B1D4 PyUnicode_CopyCharacters
0x66C0B291 _PyUnicode_Ready
0x66BC0E66 PyWrapper_New
0x66BC1763 PyDict_New
0x66BC21F4 PyDict_GetItem
0x685D04E7 Free
0x685C8E50 Free
0x685C993F Free
0x685D23BD Free
0x0116F953 Plugin::ExecuteFunctionSeh<Plugin::ExecuteStruct<0,1>,GlobalInfo * &> (c:\src\unicode_far\plclass.hpp:308)
...