共用体

今の言語仕様やライブラリはココが足りないんじゃ…、エディタや周辺ツールにこんな機能が必要なのでは…!?このような要望、具体的な提案などがありましたら、こちらのフォーラムをご活用ください。
返信する
メッセージ
作成者
NoWest
記事: 264
登録日時: 2005年5月31日(火) 10:52
お住まい: 高知
連絡する:

共用体

#1 投稿記事 by NoWest »

兎に角、こいつが一番欲しいですね。


使用するときには次のような形式のものが良いと思います。

コード: 全て選択

Type SYSTEM_INFO
    Union
        dwOemId As DWord
        Type
            wProcessorArchitecture As Word
            wReserved As Word
        End Type
    End Union
    dwPageSize As Long
    lpMinimumApplicationAddress As Long
    lpMaximumApplicationAddress As Long
    dwActiveProcessorMask As Long
    dwNumberOfProcessors As Long
    dwProcessorType As Long
    dwAllocationGranularity As Long
    wProcessorLevel As Integer
    wProcessorRevision As Integer
End Type

共用体が使われている構造体は以外に多いですし、
移植時のサイズ合わせや実行時のデータ取出しが結構大変です。




と言うことで共用体とセットで下のも必要です。

コード: 全て選択

Type
    wProcessorArchitecture As Word
    wReserved As Word
End Type
共用体を採用するとどうしても名前なしの構造体が必要ですよね。
この場合、構造体と言うよりは調整体と呼ぶほうが正しいですが、



SYSTEM_INFO構造体以外にもABで定義されている構造体には結構共用体があります。
WEBのサンプルを見ながら、ActiveBasicで動かそうとした時、
「構造体にある筈のメンバが無い」ってことが良くあるんですね。
(特にVBから移植した構造体を使ってVCのサンプルを動かすとき)

ちょっとデータ構造に詳しい人なら簡単に解決できることですが
初めての人はびっくりしますよね。これ、
返信する