19r5ではシステムWebエリアの実装がWebView ControlからWebView2にアップデートされました。前者はInternet Explorer11のエンジン,後者はMicrosoft Edgeのエンジンです。このアップデートに伴い,Windows版システムWebエリアで進捗状況変数に値が自動代入されることはなくなりました。
同様の理由により,Windows版システムWebエリアではWA GET URL HISTORYでURLの履歴が参照できなくなりました。
どうしても進捗をリアルタイムで表示したい場合,あるいはURLの履歴にアクセスしたい場合,埋め込みWebレンダリングエンジンの使用を検討してください。
OPEN PRINTING JOBで開始したプリントジョブ内でPRINT LABELを使用することは想定されていません。
ラベル印刷は,内部的にPrint objectを実行するコンポーネントメソッドとして実装されていますが,そのメソッド自体がOPEN PRINTING JOBを実行しているためです。
なお,OPEN PRINTING JOBを続けて実行した場合,エラーは発生せず,重複コマンドは何もしませんが,PRINT LABELが内部的にCLOSE PRINTING JOBを実行した時点ですべてのジョブが終了するため,続く印刷コマンドが失われてしまうことに留意してください。
v21では,プロセス名が$記号から始まる場合,ローカルプロセスと呼ばれる特殊な振る舞いをする仕組みが廃止されました。これは仕様の変更です。
v12以前のバージョンでは,ローカルおよびグローバルプロセスの間に明確な区別がありました。
ローカルプロセスは、データアクセスを必要としない処理の場合にだけ使用することをお勧めします。例えば、イベント処理メソッドを実行、またはフローティングウィンドウ等のインタフェース要素を制御するためにローカルプロセスを使用します。
名前によってプロセスがローカルであることを指定します。ローカルプロセス名は、先頭にドル記号 ($) を付ける必要があります。
グローバルプロセスには,クライアント側のカレントレコード・命名セレクション・セット・トランザクションをサーバー側のトリガプロセス(「サーバー上で実行」メソッドを実行するプロセス)と同期する仕組みがあります。また,データベースにアクセスすることができます。
4D Server: データアクセスを行わない処理に対し、クライアント側でローカルプロセスを使用すると、サーバの負荷が軽減されます。
当時のドキュメントで言及されているように,プロセスからレコードにアクセスする必要がない場合,グローバルプロセスの代わりにローカルプロセスを起動することで,ネットワーク通信とサーバーリソースの最適化を図ることができました。
ローカルプロセスは,直接データベースにアクセスすることができません。そこでアプリケーションプロセス(プロセス番号1)のデータベースコンテキストを「借りて」サーバーと通信する仕組みが用意されていました。便利な仕組みではありますが,危険なことでもありました。
警告: ローカルプロセスでデータアクセスを行った場合、メインプロセスでアクセスすることになり、そのプロセス内で実行される処理との間でコンフリクトが起きるおそれがあります。
ドキュメントの警告を無視し,アプリケーションプロセスとローカルプロセスの両方からデータベースにアクセスすると,サーバーがクラッシュする恐れがあります。こうした問題を避けるため,v21ではプロセス名が$記号から始まるローカルプロセスの概念そのものが廃止されました。
v13以降,グローバルプロセスは,クライアント側で起動し,初回のレコードアクセスでデータベースコンテキストが作成されるように改良されています。つまり,ローカルプロセスからグローバルプロセスに「昇格」します。言い換えるなら,データベースにアクセスしない限り,グローバルプロセスは従来のローカルプロセスと何も変わりません。誤ってアプリケーションプロセスとローカルプロセスの両方からデータベースにアクセスするリスクを抱えることなく,安全にネットワーク通信とサーバーリソースの最適化を図ることができます。