1

我有一堆写在 Mac 上的 Realbasic 代码,我应该移植到 Windows 上。现在让我们试着让程序在 REAL Studio 中运行。GetFolderItem("") 返回应用程序所在的文件夹。 Child("A") 按我的预期返回另一个 FolderItem。但是,当我在 A 上调用 Child("B") 时,它会返回一个 FolderItem,并为 Directory 属性设置了 False。但是 B 是我 Windows 上的一个文件夹!所以现在它不会让我得到 B 的孩子,它只是返回零。这段代码在 MacOSX 上运行良好。有什么建议么?

提前谢谢我

4

2 回答 2

2

我怀疑您不在您认为的目录中。尝试查看调试器中的路径,看看调试器是否在与您相同的位置查找。

在 RB 中处理 Mac 与 Windows 时,这是一个常见问题。在 Mac 上,很多东西都放在 bundle 文件夹中,因此没有外部文件/目录,而且由于 Windows 没有等效文件,人们对它们所在的路径感到困惑。

顺便说一句,您不需要先使用 GetFolderItem("") 。您可以简单地使用 GetFolderItem("A") 因为它默认为应用程序所在的目录。

于 2010-06-16T22:25:22.487 回答
0

通常我更喜欢使用这个代码。它是自我解释的,避免了这种常见的错误。

dim base as folderitem = App.ExecutableFile.Parent

#if DebugBuild = true then
base = App.ExecutableFile.Parent.Parent
#endif

dim target as folderitem = base.Child("A").Child("B")

你也可以把它放在一个函数中重复使用。

于 2014-08-30T11:28:56.427 回答