ab.com コミュニティ

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

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




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

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

トピックのレビュー - DLL内で64bit整数をキャストするとアクセス違反
作成者 メッセージ
  記事の件名:  DLL内で64bit整数をキャストするとアクセス違反  引用付きで返信する
いつもお世話になっております。

すでにこちらでバグ報告&次回修正の返答が行われているものと
同じ部分が原因だと思いますが、別途分かりにくい発生条件が
ありましたので、報告しておきます。
(同じバグで、苦しんでいる方のために^^;)


QWord型(64bit整数)変数をキャストすると、アクセス違反が起こるようです。
デバッグ時や実行ファイル単体での実行の場合はエラー無く終了しますが、
DLLとして外部から呼び出すと、関数終了部分でアプリケーションエラーになります。
コード:
'例
Sub Export Cast()
	Dim qwBuf As QWord
	Dim nBuf As Long

	qwBuf = 316 '21474836
	nBuf = qwBuf As Long 'おそらく、nBufの領域を超えた部分にもアクセスが起こっている。

	MsgBox NULL, Str$(nBuf)
End Sub 'この部分でnBufの解放エラーが起こる。
キャスト(As Long)せずに代入するとエラーはしません(上記記事と一緒の現象)。


動作環境:
 AB Ver4.23(4.24.00でも同様のエラーを確認)。
 Win2000



以上です。
よろしくお願いいたします。
投稿記事 Posted: 2006年6月24日(土) 16:01

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


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