注册 登录
编程论坛 VFP论坛

VFP编译成exe文件运行,出现“Visual FoxPro Cannot Start. Could not load resources.. Press F1

山上牧云 发布于 2022-11-26 08:42, 1274 次点击
VFP编译成exe文件运行,出现“Visual FoxPro Cannot Start. Could not load resources.. Press F1 for Help.”,怎办?
3 回复
#2
ccb20002022-11-26 09:46
请参考:
http://

六、“资源文件不匹配”原因分析:

    VFP9R.DLL的搜索顺序:
    1、应用程序文件夹,
    2、注册表(HKEY_CLASSES_ROOT\VisualFoxProRuntime.9\Shell\Open\Command),
    3、Windows系统文件夹。

    VFP9RCHS.DLL的搜索顺序:
    先LoadLibrary VFP9RCHS,搜索顺序:
    1、应用程序文件夹,
    2、Windows系统文件夹,
    3、PATH环境变量指定的文件夹。
    如果LoadLibrary VFP9RCHS失败,再搜索:
    4、注册表(HKEY_CLASSES_ROOT\VisualFoxProRuntime.9\Shell\Open\Command)。

    VFP9R.DLL和VFP9RCHS.DLL的搜索顺序不一致,是造成“资源文件不匹配”问题的根本原因。

    最常见的情况是:
    ┌──────────┬──────┬──────┬─────┐
    │搜索到VFP运行库位置 │ VFP9R.DLL  │VFP9RCHS.DLL│ 匹配结果 │
    ├──────────┼──────┼──────┼─────┤
    │应用程序文件夹      │   1)x      │   1)x      │          │
    ├──────────┼──────┼──────┼─────┤
    │注册表              │   2)ok     │            │          │
    ├──────────┼──────┼──────┼─────┤
    │Windows系统文件夹   │            │   2)ok     │  error   │
    └──────────┴──────┴──────┴─────┘

    即:在注册表搜索到VFP9R.DLL,但在Windows系统文件夹优先搜索到VFP9RCHS.DLL,
    如果这两个文件版本不一致,就会发生“资源文件不匹配”错误!

    “资源文件不匹配”问题解决方法:

    VFP安装时默认把运行库文件安装到:
    C:\Program Files\Common Files\Microsoft Shared\VFP

    建议同时拷贝到:
    C:\Windows\System32文件夹下
    以避免可能出现的“资源文件不匹配”问题。

    VFP C++编译软件已经把VFP9R.DLL的搜索顺序调整为:
    1、应用程序文件夹,
    2、Windows系统文件夹,
    3、注册表(HKEY_CLASSES_ROOT\VisualFoxProRuntime.9\Shell\Open\Command)。

    这样VFP9R.DLL和VFP9RCHS.DLL的搜索顺序一致,可以避免出现“资源文件不匹配”问题。
#3
schtg2022-11-26 16:26
回复 2楼 ccb2000
谢谢!
#4
山上牧云2022-11-28 08:03
我看看,谢谢先
1