Я скомпилировал Hunspell DLL с VC++, который содержит класс ... Теперь я хочу назвать эту DLL в Builder C++ 2006, чтобы использовать ее функции ... как я могу это сделать?Builder C++, вызывающий класс VC++
Я попытался с:
typedef Hunspell * (CALLBACK *fpoint)(char *aff_file, char *dict_file);
fp pHunspell = (fp)GetProcAddress(handle_Hunspell, "hunspell_initialize");
if (pHunspell) {
Hunspell* obj = (Hunspell *)pHunspell("..\hunspelldic\en_US.aff", "..\hunspelldic\en_US.dic");
obj->add_dic("..\hunspelldic\it_IT.aff", "..\hunspelldic\it_IT.dic");
}
дело, если в BuilderC++ 2006 Я могу показать функции после нажатия Shift-пробел после obj->, но похоже, что это на самом деле не признают функции класса и продолжает давать out Unresolved external '__fastcall Hunspell :: add_dic (...);' ссылка из ....
Каким будет точный способ вызова dll VC++ в Builder C++? Заранее спасибо всем, ...
Cheers, Luigino
Я забыл упомянуть, что функция winapi GetProcAddress имеет некоторые странные ошибки, которые в некоторых случаях делают некоторые функции в DLL непригодными. – Spektre
Это странное поведение было протестировано на w2k sp4, wxp sp1,2,3 x32, w7sp1 x64. В некоторых случаях некоторые функции в DLL не могут быть недоступны (не могут найти нужную функцию, ни по имени, ни по порядку). Это происходит, главным образом, после редактирования PE (переименование функций в соответствии с устаревшим стилем стиля C). – Spektre