今日はありがとうございました。
例外クラス$Coooooo5(メッセージ’coooooo5ACCESS_VIOLATION’)の表示が出た後、ブレークすると、
PopupMenu1.AutoPopup := True;
Memo1.PopupMenu := PopupMenu1;
// N1.Enabled := Clipboard.HasFormat(CF_TEXT);
// Paste1.Enabled :=Clipboard.HasFormat(CF_TEXT);
HasSelection := Memo1.SelLength > 0;
// Cut2.Enabled := HasSelection;
Copy1.Enabled := HasSelection;
// delete1.Enabled := HasSelection;
// Cancel1.Enabled := HasSelection;
の最初の行が表示されます。
この部分はdelphi6で作った時から変わっていません。
また、プログラム名を変えて、別の名前にすると、このエラー表示は出ません。
3回名前を変えてみましたが、三回ともエラーは出ませんでした。
この時、保存する場所は変わりますが、プログラムの中身はほとんど一緒です。
今朝の投稿する前に確認したときは、windows8でコンパイルしたときはエラーは出ませんでした。
windows10のプログラムを移してコンパイルするとエラーが出ましたが。
なんでエラー表示がされるのか理由が分かりません。
どういう理由が考えられますか??
何か、ヒントでも頂けたらと思って、投稿します。
よろしくお願いします。
エスパーではないので、さすがにこれだけの情報で意味のある回答は難しいのですが、
1.エラーメッセージをそのまま貼り付けてください(ダイアログでCtrl+Cでコピーできます)
2.ブレークした行の直前の行はどうなっていますか?(エラーが起きた行から後ろに原因はありません)
3.エラーでブレークする行の1行前にブレークポイントを設定し、そこから[F7]でステップ実行するとなにかわかりませんか?
HFUKUSHIさん、ありがとうございます。
「計算」というボタンを押して、「計算」のFormが立ち上がる前にこのエラー表示は出ます。
1
〇プロジェクト○○.exeは例外クラス$Coooooo5(メッセージ’coooooo5ACCESS_VIOLATION’)を送出しました。
〇モジュール’○○.exe’のアドレス00000000005C423Cでアドレス0000000000000090に対する読み取り違反が起きました。
0の個数は自信がありません。読み取り違反というのがヒントですかね??
2
Memo1.Height:=473;Memo1.lines.clear;
Memo1.width:=890;
DCalc.Height:=548; //Formの名前です
PopupMenu1.AutoPopup := True;
3
何も変わりませんでした。
エラーが起きるディレクトリをコピーして、名前を変えて、コンパイルしたらエラーは起きました。
このディレクトリの中身が問題かとは思いますが、さっぱり分かりません??
いろいろ試してみたいと思います。
いろいろ試してみました。
プログラムの名前を変えるとき、プロジェクトを変えていました。
新しい名前を作るとき、エラーの起きるメインのプロジェクトから作るとエラーが出るので、
エラーの出ないプロジェクトからメインのプロジェクト作ると、エラーが消えました。
原因が分かる人がいれば、教えてください。
ありがとうございました。
DCalcという名前のフォームの実体が生成されていないのではないですか?
ツイート | ![]() |