原因がよく分からないアクセス違反

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
mit

原因がよく分からないアクセス違反

#1 投稿記事 by mit »

初めまして、最近ActiveBasicを始めた初心者です。
表題の件につきまして、知恵をお貸し頂けませんでしょうか。

Win32プログラミング講座にあるテキストエディタを作ってみたのですが、
ファイルオープンダイアログを2~4回開くとアクセス違反で終了してしまいます。
コンパイル時にエラー、警告は出ていません。
リリースコンパイルを行った場合でも、同様に2~4回開くと落ちました。
また、サンプルプロジェクトのテキストエディタでも同様の現象が起こりました。

過去ログで報告のありましたComputer Browser, Server, Workstationについては開始させ、
"GetOpenFileNameでエラーが出る方へ(XPで)"のトピックに従ってOPENFILENAME構造体も書き換えましたが
状況は変わりませんでした。

何とか解決する方法はありませんでしょうか。
よろしくお願いします。

WinXP Home SP2
ActiveBasic 4.24.00
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#2 投稿記事 by konisi »

その、ファイルオープンの部分も含めて、もしよければ問題の関数丸ごと掲載できませんか?

BytePtr型で操作する部分でString型で適当に対処すると、コードによってはアクセス違反を起こすことがあります。
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
mit

#3 投稿記事 by mit »

これが問題のコードです。
汚くてすいませんが、よろしくお願いします。
ただ、付属サンプルのテキストエディタでも発生するので、
もしかしたら別の所にも問題があるのかもしれませんが……。
konisi
記事: 893
登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:

#4 投稿記事 by konisi »

すみませんが、こちらでは現象を再現できませんでした。
だれか現象を再現できる人はいますか?

AB4.24
WinXP Home SP2
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。
ゲスト

#5 投稿記事 by ゲスト »

メモリ確保の後こうしてみるとか
pszFileName[0]=0

構造体初期化の
FillMemoryを消してみるとか

CreateFile(ofn.lpstrFileをpszFileNameにしてみるとか
mit

#6 投稿記事 by mit »

>konisi様
わざわざすいません
どうやら私の方の環境が原因のようですね……。

>ゲスト様
ありがとうございます
ただ、全て試してみたものの変化はありませんでした。


ファイルオープンダイアログを延々開くだけのプログラムを実行して詳しく調べてみたところ、
・ 何も選択せずキャンセルだけ選べば問題なし
・ 何かを選択した後に(開かずに)キャンセルを選んだ場合では何度目かでアクセス違反が発生
という事が分かりました。
それが分かったところで、どうすればいいのかはさっぱり分かりませんけど……。
返信する