Если бы писалась 2.0 с потерей совместимости, то все события Эры 1.8 + новые, а так только OnBeforeWoG/OnAfterWoG + те, что будут добавляться плагинами для других плагинов. Вызов прост: имя события, адрес, где лежат параметры и размер параметров в байтах (могут быть NIL|NULL, 0).
Особо регистрировать не надо, но нужно экспортировать функцию чётко по имени. С сишными компиляторами нужны пляски с бубном в виде EXTERN "C" + своего def-файла (получилось на DevC++), чтобы функция не получила префиксов, постфиксов или чего похуже. С паскалем проще. Там пишешь exports MyFunc и спишь спокойно.
Quote:Хотелось бы, конечно, увидеть реализацию всех триггеров ВоГа (:
Есть ЕРМ. 1 скрипт в виде множества !?xx перенаправит триггеры на dll, а та может вещать события для всех плагинов.
Да, ЕРМ из dll использовать легко.
Code:
ExecErmCmd('IF:Lz1;');
Для СИ/СИ++
Code:
void* Cmd = AllocEraStr('IF:Lz1;');
ExecErmCmd(Cmd);
FreeEraStr(Cmd);