PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
3924 98/11/11 11:55:24 RE(7):うまくいきました!! By にしやん
3922 98/11/11 11:05:23 RE(6):うまくいきました!! By TOHA
3919 98/11/11 10:15:38 RE(5):PB5.0.03: システムリソース取得の方法を教えて下さい。 By kin
3916 98/11/10 20:05:54 RE(4):PB5.0.03: システムリソース取得の方法を教えて下さい。 By にしやん
3913 98/11/10 17:25:04 RE(3):PB5.0.03: システムリソース取得の方法を教えて下さい。 By kin
3912 98/11/10 15:52:08 RE(2):PB5.0.03: システムリソース取得の方法を教えて下さい。 By TOHA
3911 98/11/10 14:05:01 RE(1):PB5.0.03: システムリソース取得の方法を教えて下さい。 By kin
3906 98/11/10 11:30:57 PB5.0.03: システムリソース取得の方法を教えて下さい。 By TOHA

カテゴリ:スクリプトの記述
日付:1998年11月10日 20:05 発信者:にしやん
題名:RE(4):PB5.0.03: システムリソース取得の方法を教えて下さい。

TOHA さん、kin さん、こんにちは。

システムリソースの残量は、16Bit では GetFreeSystemResources という
API で取得できたのですが、32Bit では、この API は無くなってしまった
んですよね。そこで、他のツールでは 32Bit から 16Bit の API を使える
ようにする方法を用いて、これを呼び出していることが多いようです。

それで、その方法なんですが、たぶん ThunkConnect32 という API を
使うんだと思いますが、これの使い方ってよく分からないんですよ。

それなら、それもあわせて実行してくれる API はないか探してみると‥‥、
一つだけあるにはありました。
でも、OS のバージョンに依存しそうな気がしますので、だめかもしれません。


外部関数
FUNCTION Integer GetFreeSystemResources(Integer resType) &
    LIBRARY \"RSRC32.DLL\" ALIAS FOR \"_MyGetFreeSystemResources32@4\"

※ちなみに 16Bit では次のように定義します。
FUNCTION Integer GetFreeSystemResources(Integer resType) &
    LIBRARY \"USER.EXE\"


スクリプト
//定数宣言
CONSTANT Integer GFSR_SYSTEMRESOURCES = 0 //システムリソース
CONSTANT Integer GFSR_GDIRESOURCES = 1 //GDIリソース
CONSTANT Integer GFSR_USERRESOURCES = 2 //ユーザリソース

//変数宣言
Integer system_resourse
Integer gdi_resourse
Integer user_resourse

//システムリソース残量取得
system_resourse = GetFreeSystemResources(GFSR_SYSTEMRESOURCES)
//GDIリソース残量取得
gdi_resourse = GetFreeSystemResources(GFSR_GDIRESOURCES)
//ユーザリソース残量取得
user_resourse = GetFreeSystemResources(GFSR_USERRESOURCES)


そのまま、%単位(0?100)で返ります。
システムリソースは、GDIリソースとユーザリソースを比較して
小さい方を返すらしいです。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.