noname написал:
отсюда вопрос: как прикрутить tom.dll к моей проге?
На Си я это делаю так:
Глобальные переменные:
//переменные для текстового движка HINSTANCE EngineDll; typedef char*(*EngineFn)(char*); EngineFn RunFile=0; EngineFn RunText=0; EngineFn Command=0; EngineFn NormText=0;
При старте программы:
//загружаем движок
EngineDll=GetModuleHandle("tom.dll");
if(!EngineDll) EngineDll=LoadLibrary("tom.dll");
if(!EngineDll)
{ PutStr("<font color=red>Не удалось загрузить tom.dll!\n<pause>");
return 0;
}
//получаем функции
RunFile=(EngineFn)GetProcAddress(EngineDll,"@RunFile$qpc");
RunText=(EngineFn)GetProcAddress(EngineDll,"@RunText$qpc");
Command=(EngineFn)GetProcAddress(EngineDll,"@Command$qpc");
NormText=(EngineFn)GetProcAddress(EngineDll,"@NormText$qpc");
if(!RunFile||!RunText||!Command||!NormText)
{ PutStr("<font color=red>Не найдены функции tom.dll!\n<pause>");
return 0;
}в процессе:
char*Str=Command(input);
при закрытии программы:
//освобождаем движок FreeLibrary(EngineDll);
GetModuleHandle(), LoadLibrary(), GetProcAddress(), FreeLibrary() - функции WinAPI.
На паскале никогда не писал, тут я не помощник... ![]()
Неактивен
noname написал:
ты вот что скажи- на борландовском билдере то, что ты написал, будет работать?
Будет. На нём и написано.
Неактивен