4D v12と¥記号
日付 | 2011/12/21 |
---|---|
ID | 11-010 |
バージョン | 12 |
プラットフォーム | Win, Mac |
4D v11以前に作成したメソッドが、4D v12に変換後に問題になるかもしれません。具体的には、コメントの最後に半角の¥(または\)記号があり、さらにその次の行にコードがあるような時です。
例えば、次のようなコードがあるとき
4D v12で変換すると・・・
このスクリーンショットはMacで撮影したので、赤線で示したように\記号が行の連結として認識された結果、次の行にあるC_TEXTコマンドがコメントアウトされている様子が良く判ると思います。Windowsの場合には半角の¥記号がそのまま表示されているかもしれません。いずれにしてもC_TEXTコマンドがコメントアウトされたために、プラグラムの実行に影響が出る可能性があります。しかも厄介な事に、これは文法的に正しいために、シンタックスチェックでは検出できません。
この問題は、メソッドエディタで当該メソッドを開かなければ発生しませんが、予想しにくいことから対策をしたいと考える開発者の方はいらっしゃると思います。
対策方法
この問題の対策は、極めてシンプルな方法で解決できます。
ポイントは・・・
- 4D v12で変換する前に全てのメソッドを閉じておく
- 4D v12で変換後に「デザインモードを検索」機能で検索
- さらに「デザインモードを検索」の置換機能を使って無害化する
具体的な手順
4D v12での変換を未だしていないのであれば、現在お使いのバージョンで、全てのメソッドを閉じてください。
次に4D v12での変換作業をしてください。変換が終了後にデザインモードに入り、デザインモード中で「編集」メニューから「デザインモードを検索」を選択します。開かれたダイアログで次の画像の赤丸で囲まれたように、タイプを「コメント」に変更した上、検索窓に「\(あるいは半角の¥)」を入力し、「OK」ボタンを押して検索します。
データベース全体の検索をした結果、該当する行がリストアップされたダイアログが新たに開きます。ダイアログ左下にあります歯車アイコンのボタンを押して、ポップアップされたメニューから「内容を置換」を選択してください。
すると入力ダイアログが表示されるので、そこに全角の「¥」記号を入力します。このとき半角の¥記号を入力しないように注意してください。入力したら、「OK」ボタンを押して置換させます。この機能は、検索した文字列を入力文字で置き換えてくれる便利な機能です。
置換が終わると、リスト上のコードの表示がイタリック体に変化し、置換が完了した状態を目で確認できます。
これで、メソッドを開いても問題が発生する事はありません。