ab.com コミュニティ

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

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




新しいトピックを投稿する  トピックへ返信する  [ 2 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2006年4月18日(火) 22:22 
オフライン

登録日時: 2005年5月31日(火) 20:14
記事: 203
お住まい: 兵庫県
コード:
Dim llLen As QWord,Data As *Byte,Ret As DWord
Dim hFile As HANDLE
Data=calloc(16)
lstrcpy(Data,"testtest")
llLen=8
hFile=CreateFile("test.txt",GENERIC_WRITE,0,ByVal NULL,CREATE_ALWAYS,0,NULL)
WriteFile(hFile,Data,llLen As DWord,VarPtr(Ret),ByVal NULL)
CloseHandle(hFile)
free(Data)
上のように、DWord引数にQWord→DWordのキャスト結果を渡すと、(ByValなので)内容が変わってはいけないhFileの値が変わってしまいます。さらにRetにも入るはずの8が入りません。
SetFilePointerなどでも同じような問題に遭遇したことがあります。
ただ、キャストせずに「強制変換されています」のメッセージが出る状態にした場合は問題ありません。
Ver 4.24.00で確認。調査をお願いします。

_________________
[hira]
http://hira.hopto.org/


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年5月03日(水) 15:56 
オフライン
Site Admin

登録日時: 2005年5月30日(月) 15:08
記事: 535
ご報告ありがとうございます。次回のバージョンアップで修正しますので、今しばらくお待ちください。


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

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


オンラインデータ

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


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

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