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 написал:
ты вот что скажи- на борландовском билдере то, что ты написал, будет работать?
Будет. На нём и написано.
Неактивен