Здравствуйте, ptica, Вы писали:
P>И в догонку еще вопросик касательно расширения функционала и вынесения в отдельную dll
P>поясни те 2 функции, что в sciter-x-module.cpp находятся:
P>P>EXTERN_C BOOL WINAPI SciterInitModule( SciterDomApi* pdomapi, VOID* p1, VOID* p2 )
P>EXTERN_C BOOL WINAPI SciterBehaviorFactory( LPCSTR, HELEMENT, SciterDomApi::LPELEMENT_EVENT_PROC*, LPVOID* )
P>
P>struct behavior_media_factory
P>struct behavior_media. =)
sciter-x-module.cpp это опциональная вещь вообще-то.
Если надо сделать загрузку behaviros из DLL то можно это сделать на уровне своей собственной обработки
HLN/SCN_ATTACH_BEHAVIOR.
Сделать свой naming convention, скажем так:
#myid
{
behavior: plugin\/media\/ogg-viewer;
}
В SCN_ATTACH_BEHAVIOR анализируем имя и если оно начинается с "plugin/" то
скажем идем в некий фолдер /plugin/ и смотрим там media.dll.
Далее уже дело техники : LoadLibrary, потом позвать нечто well known типа SciterInitModule или InitPlugin
c передачей в длл SciterDomApi. Ну и напоследок позвать фабрику за для event handler по имени "ogg-viewer"
Вот для этого из этой длл и должно наружу быть видным нечто типа
EXTERN_C BOOL WINAPI SciterBehaviorFactory( LPCSTR, HELEMENT, SciterDomApi::LPELEMENT_EVENT_PROC*, LPVOID* )