サーバーに接続されたクライアント(4D Remote)のデザインモードでセットしたブレークポイントは,ユーザー別に管理されており,サーバー側に保存されています。クライアント側からExecute on server
を呼び出してストアドプロシージャを開始した場合,そのサーバー側プロセスは,コマンドを呼び出した4D Remoteのアカウント権限で実行されます。したがって,ユーザー管理者(Administrator
)としてログインしたのであれば,総合管理者(Designer
)がセットしたブレークポイントは通過することになります。
サーバー側のプロセスをTRACE
コマンドでトレースした場合,サーバー側に表示されるデバッガは,ストアドプロシージャを開始したプロセスのユーザー権限ではなく,サーバー,つまりDesigner
の権限で実行されています。クライアント側のユーザー権限でデバッグするためには,クライアント側でブレークポイントをセットする必要があります。
v18(厳密には17r6)以降,4D ServerアプリケーションをWindowsのサービスとして登録した場合,「デスクトップとの対話」が使用できないようになりました。これは仕様です。アプリケーションをWindowsのサービスとして登録するには,4D Serverを管理者権限で起動し,「ファイル>現在のデータベースをサービスとして登録する」を選択します。過去のバージョンでは,その後,Windowsの「サービス>対話型サービスの検出」を開始すれば,4D Serverの「デスクトップとの対話」を有効にすることができました。
v18以降,サービスとして登録されたアプリケーションは,ヘッドレスモードで実行されます。このモードでは,一切のユーザーインタフェースが抑制され,アプリケーションからの出力はシステムイベントログや標準ストリーム(コマンドライン・インタフェース)に送られます。「デスクトップとの対話」は非サポートとなります。
WP INSERT DOCUMENT
は,Write Proドキュメントを結合するために使用することができます。挿入されるのは,ドキュメントの本文(body)だけであり,アンカー画像は除外されません。これは仕様です。インライン画像であれば,本文と一緒に挿入されます。
View Proのテーマカラー「なし(no color)」は,色を指定しない,という意味です。透明色のことではありません。たとえば,テキストのカラーを「なし」に変更した場合,その色はデフォルトつまりブラックとなります。これは仕様です。
4Dアプリケーションで同時に複数の印刷ジョブを実行することはできません。たとえば,サーバーアプリケーションで印刷コマンドを使用してPDFを出力するような場合,あるプロセスが印刷ジョブを開始した後に別のプロセスが印刷設定コマンド(SET PRINT OPTION
WP USE PAG SETUP
_o_PAGE SETUP
など)を使用すると,「印刷ジョブを開始した後にこのコマンドを使用することはできません」エラーが返されます。これは仕様です。複数のプロセスが並行して印刷コマンドを使用することが想定されている場合,印刷ジョブをセマフォで排他的に制御するか,ワーカーなどを使用して印刷ジョブのキューを管理する必要があります。
メソッドエディターの左端(ブロックコードのノードが表示される領域)にマウスポインターを移動すると,ポインターが変形し,右向きに変化します。これは仕様です。変形したマウスポインターは,クリック操作により,行全体が選択できることを示しています。
4Dは,コンパイルモードで発生するエラーをインタープリターモードで発見し,デバッグできるよう,できるだけ同じ条件でエラーが発生するように設計されていますが,いくつかのエラーは,歴史的な経緯により,インタープリターモードでは発生せず,ON ERR CALL
でも抑止することができません。代表的な例は「範囲チェック」のランタイムエラーです。たとえば,パラメーターの$1
が未定義の場合,インタープリターモードであれば,そのままメソッドに渡してもエラーになりません。コンパイルモードでは,「範囲チェック」のランタイムエラーとなります。ON ERR CALL
でエラーダイアログを抑止することはできないため,Count parameters
でパラメーター数をチェックすることが必要であり,インタープリターモードではランタイムエラーが発生しないため,気をつけてコーディングするしかありません。これは仕様です。
18 R2では,_O_DISABLE BUTTON
および_O_ENABLE BUTTON
コマンドが廃止されました。コマンドはトークナイズされ,コンパイルも成功しますが,呼び出した場合,「未実装のコマンド」エラーが返されます。これは仕様です。v11以降,両コマンドの代わりにOBJECT SET ENABLED
を使用することが勧められています。
Appleの「スティッキーズ」や「メモ」のようなアプリは,HTML形式でテキストをコピー&ペーストするリッチテキストエディターです。HTMLのソースをみると,フォントサイズはピクセル(px
)単位で指定されていることがわかります。Write Proは,ワードプロセッサであり,フォントサイズはポイント(pt
)単位となっています。Microsoft Wordも同じです。スティッキーズでコピーしたテキストのフォントサイズが「14px
」だった場合,Write Proはこれをポイントに換算するので,14*0.75=10.5pt
となります。これは仕様です。別のアプリからリッチテキストをコピー&ペーストする場合,「スティッキーズ」や「メモ」のようなテキストエディターではなく,(フォントサイズをポイント単位でコピーする)ワードプロセッサからペーストしたほうが良いでしょう。