(toppers-users 1345) VB用デバイスコントロールの障害報告

Takayuki WAKABAYASHI takayuki @ ertl.jp
2004年 1月 18日 (日) 18:28:00 JST


豊橋技術科学大学の若林です。

TOPPERS/JSP Windowsシミュレーション環境に
付属する「VB用デバイスコントロール」に問題がありました。
ご使用になられている方は修正して頂けますようお願いします。

---8<---
・症状
   「System Error &H800040005 (...数値...) エラーを特定できません。」
  といったエラーが表示され、プログラムが停止する。

・再現方法
  1. VBを起動し、新規アプリケーションを選択する。
  2. フォームにデバイスコントロールをおき、AccessSizeを設定せずに
     ひとつ以上の領域をマップする。
  3. プログラムを実行する。
  4. カーネルを起動し、マップした領域に対してアクセスを行う。

・発生頻度
  常に

・原因
    AccessSizeには、1,2,4のいずれかの値しか許していないにも
    かかわらず、デフォルト値が0であるため、コンポーネントが
    E_FAILエラーを返す。

・修正箇所
    変更の概要
        jsp/windev/devicecontrol/devicecontrol.h:94
        CDeviceControlコンストラクタの初期化リストに含まれるAccessSizeの
        初期値を0から1へと変更する。
  変更前
    CDeviceControl()
        :   cookie(), manager(), KernelStarted(false),
            DataPointer(0), Limitation(0), Offset(0), AccessSize(0)
  変更後
    CDeviceControl()
        :   cookie(), manager(), KernelStarted(false),
            DataPointer(0), Limitation(0), Offset(0), AccessSize(1)

・対象
    TOPPERS/JSP rel 1.1以降
---8<---

プログラム中、またはVB上からAccessSizeプロパティを
設定している場合、この症状は発生しません。

以上、ご対応頂けますようよろしくお願いしいます。

--------
豊橋技術科学大学 工学研究科 電子情報工学専攻
  若林 隆行 (mailto:takayuki @ ertl.jp)