FileMaker17で「URL書式が正しくありません」が表示される

発生バージョン

FMCanvas3.2.180/1.02以前、 FMCanvas3Example(E1.02より以前の配布バージョン)

(FMCanvas3.2.220/1.03 FMCanvas3Example(E1.02)以降では対応済みです。)

再現環境

FileMaker Pro Advanced / FileMaker Go 17.0.1
macOS 10.13.4 HighSierra / iOS 11.2 (Windowsでは発生しません。)


FileMaker 17では「URLから挿入」スクリプトステップにおけるパスの指定方法が変更になっています。この影響から、MacまたはiOS11でFMCanvas3で描画した結果の保存時及び合成時に、下のエラーが発生します。

回避方法


  • 呼出元ファイルのスクリプトを修正します。本文中の行数などは、FMCanvas3Example.fmp12(E1.02)を基準としています。
  • お手元のファイルに組み込み済みの場合、該当する箇所に適用してください。
  • 対象となるスクリプト:FMCanvasCallBack、FMCanvasMergeCallBack


対象スクリプト1;FMCanvasCallBack

49行目のElse #Mac/iOS とEndIFの間で FMCanvas3上での描画結果を「URLから挿入」ステップにて取得している部分を以下のように変更します

  1. 60行目「URLから選択」スクリプトステップの直前に「変数を設定」ステップを追加します。

    変数名:$URL
    
    値:
    
    Case (
    
    Get ( システムプラットフォーム ) = 1 and GetAsNumber ( Get ( アプリケーションバージョン ) ) ≥ "17" ;
    "file:/volumes/" & Get ( テンポラリパス ) & "fmc3drawlayer.txt" ;
    
    Get ( システムプラットフォーム ) = 3 and GetAsNumber ( Get ( アプリケーションバージョン ) ) ≥ "17" ;
    "file:" & Get ( テンポラリパス ) & "fmc3drawlayer.txt" ;
    
    "file:/" & Get ( テンポラリパス ) & "fmc3drawlayer.txt"
    
    )
  2. 60行目「URLから」挿入ステップの引数を削除し、新たに $URL を指定します。




対象スクリプト2;FMCanvasMergeCallBack

49行目のElse #Mac/iOS とEndIFの間で 合成結果を「URLから挿入」ステップにて取得する部分を以下のように変更します

  1. 40行目「URLから選択」スクリプトステップの直前に「変数を設定」ステップを追加します。

    変数名:$URL
    
    値:
    Case (
    
    Get ( システムプラットフォーム ) = 1 and GetAsNumber ( Get ( アプリケーションバージョン ) ) ≥ "17" ;
    "file:/volumes/" & Get ( テンポラリパス ) & "fmc3merged.txt" ;
    
    Get ( システムプラットフォーム ) = 3 and GetAsNumber ( Get ( アプリケーションバージョン ) ) ≥ "17" ;
    "file:" & Get ( テンポラリパス ) & "fmc3merged.txt" ;
    
    "file:/" & Get ( テンポラリパス ) & "fmc3merged.txt"
    
    )
    
  2. 40行目「URLから挿入」ステップの引数を削除し、新たに $URL を指定します。


以前のFMCanvas3Example.fmp12では、「URLから挿入」スクリプトステップの計算式に直接URLの計算式を記述していましたが、

本バージョン(E1.02)では直前で変数に格納し、URLを挿入ステップの引数として変数を使用しています。(従来通り直接URLの計算式を引数として記述しても問題はありません)