在visual foxpro 7和windows 7中注册dll

在visual foxpro 7和windows 7中注册dll,dll,visual-foxpro,Dll,Visual Foxpro,我有一个用VFP 7编写的应用程序,在应用程序的某个地方,我使用以下命令调用dll中的函数: declare long FunctionName in DLL_NAME.dll string@, string@ . . . RETURN FunctionName( StringParam1, StringParam2) 调用此函数会生成错误: The following error has occurred: Message: Cannot load 32-bit DLL d:\folder\

我有一个用VFP 7编写的应用程序,在应用程序的某个地方,我使用以下命令调用dll中的函数:

declare long FunctionName in DLL_NAME.dll string@, string@
.
.
.
RETURN FunctionName( StringParam1, StringParam2)
调用此函数会生成错误:

The following error has occurred:
Message: Cannot load 32-bit DLL d:\folder\DLL_NAME.dll.
我试着用32/64位的regsvr注册dll…运气不好

有助于识别问题的信息: dll文件不是本地文件,它位于网络映射驱动器的文件夹中


非常感谢您的帮助。

除了VFP不支持任何64位之外,我还要看看您正在尝试通过网络加载dll的事实

消除这一可能的问题,并将其复制到本地,然后从中加载

尝试消除所有其他内容,包括VFP应用程序。我将直接从VFP命令窗口开始,除了一个简单的.prg文件之外什么也不做。在其中,除了声明和引用dll文件的本地副本外,什么也不放。设置参数的值,然后调用函数

如果这不起作用,那么它在应用程序中的何处被调用并不重要。。。你刚刚消除了所有的条件和环境


这几乎就像我有时在我们的应用程序中尝试从互联网请求数据时向客户提供的支持。我让他们手动进入他们的浏览器,并输入我们的应用程序试图进入的任何URL。如果他们无法通过浏览器访问,则可能是通过防火墙、IP阻止或其他方式。。。这与我们的应用程序无关。你可能会遇到类似的情况。省去所有其他元素,让少数几个元素单独测试问题。

我同意问题可能是DLL位于共享网络上。我以前通过将文件复制到本地计算机解决了这个问题

但是,根据本文(下面的链接),如果您添加一个特殊的配置文件,告诉.Net framework可以访问某个应用程序的网络dll,则可以允许FoxPro应用程序(或任何.exe)使用网络驱动器中的dll


以下是链接:

感谢您的回答,它运行在Win 7 32位Visual FoxPro 7不支持64位操作系统。“消息:无法加载32位DLL d:\folder\DLL\u NAME.DLL。”告诉我您正试图在编译为x64进程的程序中加载32位DLL。此外,32位操作系统没有64位版本的regsvr进程。我建议使用VisualFoxpro9SP2来查看是否有更好的结果。VP7是10年前发布的。此外,听起来用户帐户没有读取网络所需的权限。尝试将文件设置为本地…不会改变VFP9SP2或VFP7支持x64操作系统的事实。基于您使用的是64位操作系统这一事实,基于您在问题中的陈述,这意味着您应该考虑其他选择。好的,谢谢,将做更多的研究感谢您的解释,我将遵循这些步骤,希望这是网络问题,而不是64位不兼容!谢谢你的链接。仅供参考,该应用程序正在XP客户端上运行,并从同一位置成功远程加载dll。我认为这是与Windows 7的兼容性问题(dll可能与64位不兼容?)。我还在搜索,一旦这个神秘的问题解决了,我会发布答案。