[未知の文字列が解放されようとしました。]は深刻なエラーか

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: [未知の文字列が解放されようとしました。]は深刻なエラーか

Re: [未知の文字列が解放されようとしました。]は深刻なエラーか

by ganas » 2006年4月04日(火) 22:59

> GetAsyncKeyStateの戻り値は、キーが押されている時は、(必ずかどうかはわかりませんが)
> &HFFFF8000等になります。
> And は論理積ですので、
> GetAsyncKeyState(code) And &H8000 の演算結果は&H8000になります。
> 当然この結果は"1"ではありませんので、元のコードだとFalseの処理
> ばかりになっていたと思います。


論理積などはまだよくわかりませんが、説明どおりに修正しましたら、無事動作しました。ありがとうございます。

未知の文字列に関しては、ネットで検索しても有力な情報が得られなかったので、質問しました。

Re: [未知の文字列が解放されようとしました。]は深刻なエラーか

by ノッチ » 2006年4月04日(火) 21:51

一つ目の未知の文字列に関しては、特定条件(詳細不明)で発生するようですが、
深刻かどうかは不明です。役立たずでごめんなさい。

で、下記の

コード: 全て選択

'キー状態の取得

Function PressKey(code As Long) As BOOL
	If (GetAsyncKeyState(code) And &H8000) = 1 Then
		PressKey = TRUE
	Else
		PressKey = FALSE
	End If
End Function
ですが、関数1行目の
If (GetAsyncKeyState(code) And &H8000) = 1 Then
というのを

コード: 全て選択

If GetAsyncKeyState(code) And &H8000 Then
にすると動作するはずです。
GetAsyncKeyStateの戻り値は、キーが押されている時は、(必ずかどうかはわかりませんが)
&HFFFF8000等になります。
And は論理積ですので、
GetAsyncKeyState(code) And &H8000 の演算結果は&H8000になります。
当然この結果は"1"ではありませんので、元のコードだとFalseの処理
ばかりになっていたと思います。

[未知の文字列が解放されようとしました。]は深刻なエラーか

by ganas » 2006年4月04日(火) 19:04

こんにちは。

今、RPG風の、途中で色が付いたりしたメッセージを表示する、プログラムを作っています。
このメッセージの処理を行う部分で、タイトルのようなエラーが発生するみたいですが、これは主にどういう原因で起き、深刻なエラーなのかを教えていただきたいです(ヘルプに載ってない)。


あと、次のプログラムを用いて、キーボードの判定をスレッドで行っていますが、うまく動いていないようです(書かれているもの以外に矢印キーなどもテストしました)。スレッドは起動時に同時に2つ開始し、片方をゲーム処理、そしてもうひとつをキーボードの判定に使用しています(キー状態の取得、スレッドの開始法、スレッドを割り当てる関数(?)の記述、いずれもHelp Centerのものを参考)。

ページトップ