検索結果 19 件

by ganas
2007年1月07日(日) 18:50
フォーラム: バグ報告
トピック: MessageBoxで改行を表現しようとするとアクセス違反
返信数: 6
閲覧数: 8729

ありがとうございました。
by ganas
2007年1月07日(日) 16:19
フォーラム: バグ報告
トピック: MessageBoxで改行を表現しようとするとアクセス違反
返信数: 6
閲覧数: 8729

変な書き方になってしまってすいません。
言いたかったことは、ヘルプにあるMessageBox関数の説明を見ただけでは、改行方法にExを使った方法がわからないということです(MsgBox関数の説明でもChr$関数の改行への使い方(あるいは使えるという説明)が載っていないのと同じように)。少なくとも初心者か、あまり熟練していないような私には、改行方法をいちいち聞かなければ作業が進められない、というところがあります(仮にもインターネットに繋げられない人には使い方がわからず仕舞いになってしまう恐れがある)。そのため、そのような方法をヘルプに少しずつでも記述するとよいかな、と思っています。
by ganas
2007年1月07日(日) 13:53
フォーラム: バグ報告
トピック: MessageBoxで改行を表現しようとするとアクセス違反
返信数: 6
閲覧数: 8729

ありがとうございます。うまくいきました。

山本さんが見ているなら、ちょっと要望として出したいのですが、ヘルプの説明で、Chr$関数の組み合わせで改行できます、とだけあからさまに書いてあるだけだと、MessageBoxの時にExをつけるという説明がMessageBoxにもないので、ちょっと困惑するところがあると思うのです・・・。
by ganas
2007年1月07日(日) 11:58
フォーラム: バグ報告
トピック: MessageBoxで改行を表現しようとするとアクセス違反
返信数: 6
閲覧数: 8729

MessageBoxで改行を表現しようとするとアクセス違反

こんにちは。 諸事情で抜粋ですが、以下のコードでバグ(アクセス違反)が発生します。 MessageBox(hMainWnd,"ItemTextLen の値が不正です。" + Chr$(13) + Chr$(10) + Chr$(13) + Chr$(10) + "処理に関するエラーか不正操作が行われた可能性があります。","予期せぬエラー",MB_ICONSTOP) なお、これをほかの行へ移して実行した場合も、ここで動作が止まるので、バグとして報告しました。確認した限りだと、MsgBoxだと何も起こりません。 またエラーメッセージも載...
by ganas
2006年7月14日(金) 18:28
フォーラム: プログラミング質問板
トピック: free関数使用時に発生するエラー
返信数: 4
閲覧数: 3552

・・・とりあえず、文字列クラスを作ってみました。 簡単なプログラムの場合は普通に動きますが、複雑なプログラム(SetTextを1回、GetTextを複数)の場合、デストラクタでエラー(HEAP[vtroad_debug.exe]: Heap block at 0017AA58 modified at 0017AC12 past requested size of 1b2 )を出すときがありますが、それなりに形になりました。 '文字列クラス Class CText Private ctStr As BytePtr Public 'コンストラクタ Sub CText() ctStr = callo...
by ganas
2006年7月14日(金) 15:16
フォーラム: プログラミング質問板
トピック: free関数使用時に発生するエラー
返信数: 4
閲覧数: 3552

ありがとうございます。
参考にしてみます。
by ganas
2006年7月13日(木) 20:55
フォーラム: プログラミング質問板
トピック: free関数使用時に発生するエラー
返信数: 4
閲覧数: 3552

free関数使用時に発生するエラー

こんにちは。 今回、動的配列の作り方などを、以前使っていたC++から、見よう見まねで作り、そして、以下のようなコードとなりました。 Dim a As *Byte a = calloc(sizeof(Byte) * 256) As *Byte a = "う" Msgbox hMainWnd,MakeStr(a) free(a As VoidPtr) これは、リリースコンパイルしたものには何の問題もありません(正確には目に見える動きがない)。しかし、デバッグ実行では、「HEAP[vtroad_debug.exe]: Invalid Address specified to Rt...
by ganas
2006年7月02日(日) 19:30
フォーラム: プログラミング質問板
トピック: 可変長文字列の処理がうまくいってない?
返信数: 2
閲覧数: 2237

「未知の文字列が開放・・・」というエラーを解消するため、ZeroStringなしで、String型をすべてBytePtrで処理しました(callocなどは一切使用せず)。「未知の文字列」エラーは解消されたのですが、相変わらずこのコンパイラクラッシュは解決しませんでした。

しかしMakeStr内部でZeroStringが動いているとはおもいませんでした。
ありがとうございます。
by ganas
2006年7月02日(日) 17:28
フォーラム: プログラミング質問板
トピック: 可変長文字列の処理がうまくいってない?
返信数: 2
閲覧数: 2237

可変長文字列の処理がうまくいってない?

現在、次のような文字列処理用のプログラムを作っています。 ZeroStringを使って可変長文字列を処理しようとしたのですが、文字列の長さ(バイト数)が一定の長さ(バイト数)を超えた時点(その長さは未計測)で、BasicCompiler.exeが、エラーも出さずに、いきなりクラッシュしてコンパイルが停止します。 上記の条件を満たさない(一定の長さよりも短い)と、まったくエラーは発生しません。 このプログラムは、指定された文字列を、プログラムで解析して、StrPutに送り、TextOutで出力しています(ゲームなどである、色が途中で変わったり、太字になったりする処理を実現するためのプログラムで、...
by ganas
2006年6月27日(火) 21:12
フォーラム: プログラミング質問板
トピック: ビットマップ処理がうまくいかない
返信数: 3
閲覧数: 2366

解決しました

助言していただき、ありがとうございました。 以下のように修正したところ動作しました。 Sub LoadImg(ImgPath As BytePtr,ByRef hWindow As HWND,ByRef hTargetDC As HDC,ByRef hTargetBITMAP As HBITMAP,ByRef hTargetBITMAPINFO As BITMAP) Dim hDC As HDC hDC = GetDC(hWindow) hTargetDC = CreateCompatibleDC(hDC) hTargetBITMAP = LoadImage(NULL,ImgPath,IMAG...
by ganas
2006年6月27日(火) 01:35
フォーラム: プログラミング質問板
トピック: ビットマップ処理がうまくいかない
返信数: 3
閲覧数: 2366

ビットマップ処理がうまくいかない

今回、次のようなプログラムを使って、ビットマップを読み込むプログラムを作りました。 そして、実行するのですが、ソースコードに書いてある SelectObject(hTargetDC,hTargetBITMAP) の部分で[ハンドルが無効です]というエラーが発生します。 画像が正しくロードされているのは確認済みです。 なお、picMarkは、そのままBitBltなどで転送するためのものです。 '使用例 --- Dim picMark As HDC Dim bmMark As HBITMAP Dim bmiMark As BITMAP '↓ パスに間違いがないことは確認済みです LoadImg(&...
by ganas
2006年4月09日(日) 15:24
フォーラム: バグ報告
トピック: ロードしたはずのビットマップが無効になる
返信数: 1
閲覧数: 4259

ロードしたはずのビットマップが無効になる

こんにちは。 ちょっと複雑なので、自分でもなかなか理解ができないのですが、次のような手順の作業を行った後、元に戻しても症状が改善しません。 ※コードファイル = Basicプログラム(*.abp) 1.ダブルバッファリング用の裏画面のデバイスコンテキスト(以下DC)、ビットマップハンドル(以下HBMP)を「最初に表示されるWindowのコード内部」に宣言 Dim hDC As HDC 'GetDC(hMainWnd)の値を代入 Dim hBmp As HBITMAP 'CreateCompatibleBitmap(hDC,320,240)を割り当て Dim hScreenDC As HDC '...
by ganas
2006年4月04日(火) 22:59
フォーラム: プログラミング質問板
トピック: [未知の文字列が解放されようとしました。]は深刻なエラーか
返信数: 2
閲覧数: 2106

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

> GetAsyncKeyStateの戻り値は、キーが押されている時は、(必ずかどうかはわかりませんが) > &HFFFF8000等になります。 > And は論理積ですので、 > GetAsyncKeyState(code) And &H8000 の演算結果は&H8000になります。 > 当然この結果は"1"ではありませんので、元のコードだとFalseの処理 > ばかりになっていたと思います。 論理積などはまだよくわかりませんが、説明どおりに修正しましたら、無事動作しました。ありがとうございます。 未知の文字列に関しては、ネットで検索しても有力な...
by ganas
2006年4月04日(火) 19:04
フォーラム: プログラミング質問板
トピック: [未知の文字列が解放されようとしました。]は深刻なエラーか
返信数: 2
閲覧数: 2106

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

こんにちは。 今、RPG風の、途中で色が付いたりしたメッセージを表示する、プログラムを作っています。 このメッセージの処理を行う部分で、タイトルのようなエラーが発生するみたいですが、これは主にどういう原因で起き、深刻なエラーなのかを教えていただきたいです(ヘルプに載ってない)。 あと、次のプログラムを用いて、キーボードの判定をスレッドで行っていますが、うまく動いていないようです(書かれているもの以外に矢印キーなどもテストしました)。スレッドは起動時に同時に2つ開始し、片方をゲーム処理、そしてもうひとつをキーボードの判定に使用しています(キー状態の取得、スレッドの開始法、スレッドを割り当てる関数...
by ganas
2006年4月02日(日) 12:08
フォーラム: バグ報告
トピック: String型の値が528バイト程度でコンパイラがクラッシュする
返信数: 2
閲覧数: 4141

追記

ActiveBasicはバージョンが 4.23.00 です。