3
我正在使用sqldb从我的DLL中连接到Firebird。这个失败是因为它找不到与我的DLL实际存在于同一目录中的fbclient.dll。 GetCurrentDir
将路径返回到Windows系统文件夹。使用DLL的路径执行SetCurrentDir
已成功更改当前目录,但仍不起作用。我能做些什么来让sqldb在我选择的位置使用fbclient.dll?如何让sqldb使用特定的fbclient.dll?
我正在使用sqldb从我的DLL中连接到Firebird。这个失败是因为它找不到与我的DLL实际存在于同一目录中的fbclient.dll。 GetCurrentDir
将路径返回到Windows系统文件夹。使用DLL的路径执行SetCurrentDir
已成功更改当前目录,但仍不起作用。我能做些什么来让sqldb在我选择的位置使用fbclient.dll?如何让sqldb使用特定的fbclient.dll?
从the wiki page
看来是没有办法明确规定从何处火鸟客户端库可以加载的目录。因此,作为一个变通方法,您可以使用SetDllDirectory
功能,这将增加提供给它的唯一参数用于查找DLL库应用程序的搜索路径的目录。用来加载Firebird的客户端库LoadLibrary
函数的后续调用将通过搜索列表,发现它在你被SetDllDirectory
函数调用添加的地点。