ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 00:43

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




新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
 記事の件名: IntegerとLongの構造体
投稿記事Posted: 2006年10月03日(火) 02:22 
v4.24(WindowsMe)

IntegerとLongの構造体を定義して、たとえば、フォームにボタンを配置し、下のようにした場合、Longの方の値が正しくなりません。
初学者なのでプログラムが間違っているかもしれず、また、前のバージョンでのものですが、一応報告しておきます。
コード:
type TESTD2
	a as Integer
	b as Long
End Type

Sub MainWnd_CommandButton1_Click()
	Dim test2 = [3,11] as TESTD2
	Stest(VarPtr(test2))
End Sub

Sub Stest(t as *TESTD2)
	Dim n as String
	
	n = Str$(t->b)
	MessageBox(hMainWnd,StrPtr(n),0,0)
End Sub


通報する
ページトップ
   
投稿記事Posted: 2006年10月03日(火) 17:07 
オフライン

登録日時: 2005年5月31日(火) 18:51
記事: 473
お住まい: 新潟県
コード:
Type TESTD2
	a as Integer
	b as Long
End Type

Sub MainWnd_CommandButton1_Click()
	Dim test2 = [3,11] as TESTD2

	Debug

	Stest(VarPtr(test2))
End Sub
こうしてみた所、初期化代入(?)の時点で値が正しく代入されてないことが分かります。(Ver.5.0 CP3で確認)

Integer型で正しく代入されないならWord型も代入されないんじゃないかと思ったらそうでした。
コード:
Type TESTD2
	a as Word
	b as Long
End Type

Sub MainWnd_CommandButton1_Click()
	Dim test2 = [3,11] as TESTD2

	Debug

	Stest(VarPtr(test2))
End Sub
型のサイズが問題なんでしょうかね。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年10月05日(木) 17:24 
オフライン
Site Admin

登録日時: 2005年5月30日(月) 15:08
記事: 535
ご報告ありがとうございます。

7さんの仰るとおり、メンバオフセットの計算モジュールの不具合により、型サイズが正常に判定されておりませんでした。

次回のバージョンアップで修正いたしますので、今しばらくお待ちください。


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

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


オンラインデータ

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


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

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