为什么 LayoutObjectNames return 在 FileMaker 14 中会是一个空字符串?

Why would LayoutObjectNames return an empty string in FileMaker 14?

我发现 FileMaker 14 有一些非常奇怪的行为。我正在使用 LayoutObjectNames 来实现某些必需的功能。在开发系统上它工作正常。它 returns 布局上命名对象的列表。

我关闭了文件,将其压缩并发送给客户端,但所需的功能无法正常工作。他将文件发回,我打开它并打开数据查看器。函数returns什么都没有。我进入布局模式并确认布局上有命名对象。

第一次出现这种情况,我尝试恢复文件。在恢复的文件中它起作用了,所以我假设他这边发生了一些损坏。我告诉他丢弃我给他的文件并使用我提供的新版本。问题又来了。

今天早上他给我发来了出现问题的最旧版本。我确认了问题,再次尝试恢复,但这次并没有解决问题。

我很茫然。它适用于我发送给他的版本,不适用于他的系统。我们都在使用 FileMaker 14,尽管我使用的是 Advanced。我的下一步将是使用提供的文件而不是本地文件,但我从未在 FileMaker 中看到过这种类型的行为。有没有人见过类似的东西?关于修复的任何想法?我几乎准备好废弃文件并从头开始重新构建它,因为我们对项目的了解还不算太深。

谢谢,查克

当文件名包含点(扩展名前的点除外)时,Get (FileName) 函数存在一个已知问题。我稍后会用更多细节和可能的解决方案修改我的答案(我必须查找它)。


引用 2008 年的话:

This is a known issue. It affects not only the ValueListItems() function, but any function that requires the file name. The solution is to include the file extension explicitly in the file name. This works even if you use Get (FileName) to return the file name dynamically:

ValueListItems ( Get ( FileName ) & ".fp7" ; "MyValueList" )

Of course, this is not required if you take care not to use period when naming your files.

http://fmforums.com/forums/topic/60368-fm-bug-with-valuelistitems-function/?do=findComment&comment=285448

显然问题仍然存在 - 我想知道解决方案是否仍然相同(我目前无法测试)。