ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月28日(日) 03:52

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - 共用体
作成者 メッセージ
  記事の件名:  共用体  引用付きで返信する
兎に角、こいつが一番欲しいですね。


使用するときには次のような形式のものが良いと思います。
コード:
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のサンプルを動かすとき)

ちょっとデータ構造に詳しい人なら簡単に解決できることですが
初めての人はびっくりしますよね。これ、
投稿記事 Posted: 2005年12月23日(金) 00:01

全ての表示時間は UTC+09:00 です


ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean