4D v15

メソッドでのUnicode

ホーム

 
4D v15
メソッドでのUnicode

メソッドでのUnicode  


 

 

 4D v15から、4Dメソッドコードの文字列をUnicodeで保存できるようになりました:

  • 4D v15以降で作成されたデータベースに関しては、メソッドコードは自動的にUnicodeで保存されます。
  • それより古いバージョンから変換されたデータベースに関しては、新しいメソッドをUnicodeで保存のデータベース互換性設定によってUnicodeモードへと切り替えることができます:

    注: このオプションを変更した場合、それが有効化されるためにはアプリケーションを再起動する必要があります。このオプションはどの時点においてもチェックを入れる・外す事ができます。変更した後に保存したメソッドのみその影響を受けます。

これまでのリリースにおいては、4Dメソッドコードの文字(式、変数名、メソッド名、コメント等)はカレントのローカルエンコーディングを使用して保存されていました。このエンコーディングは、異国のデベロッパ間で4Dコードをやり取りする場合に特に問題を引き起こす可能性がありました。例えば、フランスのデベロッパがアクセント記号がつかわれている4Dコードを書き、そのデータベースをイギリスのデベロッパに送った場合、これらのアクセントは失われてしまいます。日本語版で書かれたコードに関しても深刻な問題が起こる可能性がありました。

メソッドをUnicodeで保存することで、これらのタイプの問題は全て解決できるうえに、特殊な文字を使用した4Dコードの交換を可能にします。

Unicodeモードオプションは、既存のデータベースにおいても速やかに有効化されることが推奨されます(国際的な環境で作業している場合にはなおさらです)。

実装に関する注意: この新機能はランゲージとその解釈において適用されます。一部の4Dエディタウィンドウ(プロパティリスト等)においては、以前カレントのローカル設定が使用されるので、特定の文字列が正しく表示されない可能性があります。しかしながら、これはコードの実行には影響しません。

Unicodeでの4Dメソッドの保存(4D v15で新規に作成されたデータベース、またはメソッドをUnicodeで保存オプションが選択された変換されたデータベース)はユーザーには見えない機能です。

しかしながら、内部的な変更の結果、4D コードでのポインター表示は大幅に変更されました。"新しい"ポインターは内部的により最適化され、二次元配列の要素などの拡張された機能をサポートします(RESOLVE POINTERを参照して下さい)。
以前コンパイルされたコンポーネントとプラグインとの互換性を維持するために、(単に既存の型を置き換えるのではなく)新しいポインターデータ型が4Dランゲージに追加されました。この新しいタイプはアプリケーション内において見えないように管理されます。しかしながら、以下の点に注意する必要があります:

  • RESOLVE POINTER は、一次元配列に対しては、第四引数に0ではなく-1を返すようになりました。
  • Get pointer は不正な変数名と余分な空白に対しての振る舞いが変わりました。

 
プロパティ 

プロダクト: 4D
テーマ: デザインモード

 
履歴 

 
ARTICLE USAGE

4D v15 - アップグレードリファレンス(標準版) ( 4D v15)

Inherited from : メソッドでのUnicode ( 4D v15)