Tips

v11で追加されたシンタックスエラー

日付2008/12/01
ID08-067
バージョン11.0
プラットフォームMac / Win

4D 2004には、全部で69種類のコマンドシンタックスエラーが定義されていました。4D v11 SQLには、全部で81種類のコマンドシンタックスエラーが定義されています。これまでは許容されていたものの、4D v11ではエラーを返すようになったシンタックスもあります。

70 The command cannot be applied between two Picture arguments.
71 The SET PRINT MARKER command can only be called in the header of a form being printed.
72 A pointer array was expected.
73 A numeric array was expected.
74 The size of arrays does not match.
75 No pointer on local arrays.
76 Bad array type.
77 Bad variable name.
78 Invalid sort parameter.
79 This command cannot be executed during the draw of a list. 80 Too many query arguments.
81 フォームが見つかりません。

一例としてエラー#81に注目してみましょう。4D 2004および4D v11のランゲージリファレンスには、次のように記述されています。「それぞれのテーブルには、エクスプローラで定義されたデフォルトの入力フォームが存在します。デフォルトの入力フォームは、INPUT FORMコマンドでフォームを指定しなかった場合、あるいは存在しないフォームを指定した場合に使用されます。」同じようなことがOUTPUT FORMコマンドについても記述されています。データベースにたくさんのフォームが存在する場合、デフォルトのフォームを指定する代わりに、わざと存在しないフォームの名前を使用しようと思うかもしれません。

4D 2004までは、そのようなコードはエラーになりませんでした。4D v11では、エラー#81が返されます。とはいえ、このテクニックがもはや有効ではないわけではなくて、エラーハンドリングメソッドをインストールしておき、エラー#81で何もハンドルしなければ、以前と同じようにこの方法でデフォルトのフォームを使用することができます。