【小技】メインプロセスを特定するには
【小技】メインプロセスを特定するには
4Dのユーザーモードは,メインプロセス(またはアプリケーションプロセス)と呼ばれる,特殊なプロセスのコンテキストで実行されています。他のプロセスとは違い,このプロセスは終了することがありません。
メインプロセスの番号は,通常,デクストップ版で「1」,サーバー版で「4」ですが,デザインモードやストアドプロシージャーなどの状況によっては,別の番号になることもあります。
このプロセスの名前はローカライズされており,日本語版ではアプリケーションプロセスです。したがって下記のコードで番号を取得することができます。
$process:=Process number("アプリケーションプロセス")
しかし,ローカライズ名に頼るよりも,PROCESS PROPERTIESのorigin引数を参照したほうが確実です。メインプロセスのoriginには「-1」が返されます。
http://doc.4d.com/4Dv16/4D/16.1/PROCESS-PROPERTIES.301-3375209.ja.html
つまり,Count tasksから返されるプロセス数に対し,PROCESS PROPERTIESでoriginを照会することにより,メインプロセスの番号を特定することができます。
http://doc.4d.com/4Dv16/4D/16.1/Count-tasks.301-3375208.ja.html
メインプロセスの番号は,通常,デクストップ版で「1」,サーバー版で「4」ですが,デザインモードやストアドプロシージャーなどの状況によっては,別の番号になることもあります。
このプロセスの名前はローカライズされており,日本語版ではアプリケーションプロセスです。したがって下記のコードで番号を取得することができます。
$process:=Process number("アプリケーションプロセス")
しかし,ローカライズ名に頼るよりも,PROCESS PROPERTIESのorigin引数を参照したほうが確実です。メインプロセスのoriginには「-1」が返されます。
http://doc.4d.com/4Dv16/4D/16.1/PROCESS-PROPERTIES.301-3375209.ja.html
つまり,Count tasksから返されるプロセス数に対し,PROCESS PROPERTIESでoriginを照会することにより,メインプロセスの番号を特定することができます。
http://doc.4d.com/4Dv16/4D/16.1/Count-tasks.301-3375208.ja.html
miyako- 投稿数 : 468
登録日 : 2016/07/05
Permissions in this forum:
返信投稿: 不可
|
|