我有一个foxpro应用程序,其中包含图标和位图的硬编码路径。这就是福克斯如何做到这一点,并没有办法解决它。这工作正常,除了当使用可移动驱动器但未连接时,并且当连接时窗口分配与硬编码路径相同的字母,当打开包含此类路径的任何表单时,会出现以下错误消息(从WINDOWS ,而不是狐狸):
Windows-没有磁盘 异常处理消息c0000012参数.....
请帮忙 Nelson Marmol
答案 0 :(得分:2)
尼尔森:
“这就是foxpro如何做到这一点并且无法绕过它”?
我正在使用FOX,因为FoxPro 2.5到Visual FoxPro 9,你永远不会强迫任何方式硬编码路径,你可以使用SET PATH TO(sYourPath),你可以嵌入你的图标和位图EXE / APP文件,因此无需在外部包含此资源。
你说你有一个“Foxpro App”:哪个版本?旧的MS-DOS FoxPro o Visual FoxPro? 如果您使用的是VFP 8+,则可以使用SYS(2450,1):
Specifies how an application searches for data and resources such as functions, procedures, executable files, and so on.
You can use SYS(2450) to specify that Visual FoxPro searches within an application for a specific procedure or user-defined function (UDF) before it searches along the SET DEFAULT and SET PATH locations. Setting SYS(2450) can help improve performance for applications that run on a local or wide area network.
SYS(2450 [, 0 | 1 ])
Parameters
0
Search along path and default locations before searching in the application. (Default)
1
Search within the application for the specified procedure or UDF before searching the path and default locations.
一个快速解决方法是通过磁盘管理器为您的USB分配另一个字母。
答案 1 :(得分:0)
我同意@PabloG - 自从我使用FoxPro(Dos& Windows)以来已有十多年了,但即使回到FPW2.6,您也可以确定应用程序在哪里运行','设置绝对或相对搜索路径甚至将你的资源直接捆绑到“编译”(heh)exe中。我们所有的资源都存在于app文件夹中的特定子文件夹中,另一个子文件夹中的数据库文件也位于app文件夹下方。我记得,我们使用相对路径来处理所有事情。
您能否向我们提供有关此问题的更多信息?
如果您认为这会有所帮助,我可以尝试挖掘一些我们正在做这种事情的FPW2.6代码。 : - )
答案 2 :(得分:0)
这是VFP8,如果我没有自己解释,我很抱歉。此外,我认为“没有办法解决它”可能听起来很糟糕。我的意思是表格中的“ ICON ”属性。由于我们将每个组件类型分隔在文件夹(表单,报表,菜单,图标等)中,如果您尝试使路径相对,则下次编辑文件时,foxpro将包含完整路径。这个问题最近开始,我们发现我们的客户开始使用外部USB驱动器作为备份方式。
答案 3 :(得分:0)
听起来像是在向客户分发表格/报告/标签等。如果您构建一个EXE,那么您不应该遇到“路径”问题,因为VFP会将资源(在本例中为图标)嵌入到exe中,并且将知道如何在运行时提取它。
彼得森
答案 4 :(得分:0)
不,我们没有分发表格或任何与应用程序...它是一个exe。我忘了提到EXE是用 KONXIZE 1.0压缩和混淆的。
答案 5 :(得分:0)
假设您的应用程序可以在运行时确定图标文件的路径,那么在表单的load事件中,您可以设置图标:
THIS.Icon=<path to file>
答案 6 :(得分:0)
如果有其他人遇到此问题,您通常可以在“属性”窗口中为Icon属性键入类似的内容以强制对其进行评估,这可能会阻止路径自动填充:
<强> = “icon.ico”强>
而不只是 icon.ico 。