Filemaker Pro 9 (Mac): как заставить его работать с абсолютными путями? - PullRequest
0 голосов
/ 20 мая 2010

У меня есть установка, где клиенты FM Pro 9 открывают решение с FM-сервера 9.

Это решение затем должно получить доступ к файлам на сетевом ресурсе от клиентов. До сих пор сетевой ресурс был подключен с помощью AFP, но для изменения инфраструктуры требовалось переключить его на статическое монтирование NFS.

Их загрузочные тома могут иметь разные имена, но все они монтируют общий ресурс NFS в одной точке монтирования в «реальном» дереве монтирования (начиная с корневого каталога UNIX, /).

В соответствии с http://www.filemaker.com/help/html/create_db.8.32.html#1030283 похоже, что нет способа просто использовать полный путь без имени тома, как если бы это была классика Mac OS - есть ли способ обойти это?

Обновление до более новой версии FileMaker не является востребованным решением.

Ответы [ 2 ]

4 голосов
/ 21 мая 2010

Вы можете найти имя тома по умолчанию, если вы умны. Следующий код (который вы можете использовать в скрипте или пользовательской функции) позволит вам установить переменную для нужного вам файла.

Let([
    desktop_path = Get(DesktopPath);
    second_slash = Position (desktop_path ; "/" ; 1 ; 2 );
    volume = Middle(desktop_path; 2; second_slash - 2)
];
"filemac:/" & volume & "/path_to_share/file.xls"
)

На моей машине мой загрузочный том - «Macbook Pro HD». Результат вызова этого бита кода возвращает:

filemac:/Macbook Pro HD/path_to_share/file.xls

Что позволяет мне получить доступ к этому файлу.

Если по какой-то причине DesktopPath отсутствует на загрузочном томе, могут пригодиться следующие функции Get:

Get(DocumentsPath) -- returns the path to the users Documents folder  
Get(FileMakerPath) -- returns the path to the folder of the currently 
                      running version of FileMaker
1 голос
/ 20 мая 2010

Все ссылки на файлы FileMaker начинаются в /Volumes, поэтому они содержат имя тома. Для доступа к файлу на другом томе X сделайте ссылку похожей на filemac:/X/directoryName/fileName.

...