掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DLL上の例外をコピーした文字列をFreeLibraryにアクセスとエラーになる (ID:49523)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>バグですか?という質問にバグでは無いですと返して原因を説明しているのに >「質問の意図が理解出来ていないようで・・・・ 」 >と煽っておられるのですが・・・ その原因といっているのがまちがってるじゃないですか あきらかに >EXEとDLLをまたいで例外を伝播させるのは不可ですね。 >StrPCopy(P,E.Message); で文字列が取得できるのは,DLL 内の関数の文字列の引数の扱いと同じですね. >DLL が発行するメッセージですから基本的に Null 終端文字列です. >また,メモリを仲介しないと正常に取得できません.例外が発生します. >つまり, この2つ FreeLibraryの前は取得できてるのにそこ無視してますよね あきらかにソースみてないですよね で次に >そのコードによりメモリへの不正なアクセスが生じて, >FreeLibrary(ModuleHandle); >が正常に処理できないためと思われますが, で torさんが正解を答えてくれたのに >の (1) ではエラーが発生しないのに (2) では何故エラーとなるのかということのようです. 煽ってるつもりなのでしょうけど そうなんですよ 質問の内容 torさんの答えを見て理解できたのでしょうか? >ですので,メモリの不正アクセス (メモリアクセスの違反) をしないようにすれば, >そのような現象は発生しない.では納得できないということですね. でこれですよ > Memo1.Lines.Add(S); //エラーになる >最初の質問から 文字列型のメモリ管理方法が知りたかったって読み取るのは >エスパーでも無理じゃ無いでしょうか? メモリの管理方法が知りたかったわけではありませんよ? 結果的に文字列のメモリの管理方法だったというだけで torさんは理解できたみたいですけど エスパーはいるみたいです
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.