ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 23:33

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




新しいトピックを投稿する  トピックへ返信する  [ 1 件の記事 ] 
作成者 メッセージ
 記事の件名: 共用体
投稿記事Posted: 2005年12月23日(金) 00:01 
オフライン

登録日時: 2005年5月31日(火) 10:52
記事: 264
お住まい: 高知
兎に角、こいつが一番欲しいですね。


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

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


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 1 件の記事 ] 

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


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[9人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

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