掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DLL上の例外をコピーした文字列をFreeLibraryにアクセスとエラーになる (ID:49516)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いやだからEXEとDLLの境界を跨いで例外を投げんなってことですって。 理由は > DELPHI以外でのDLL作成もあり得るので使えません。 です。例外オブジェクトを生成するときに使われるメモリマネージャはDLL側で、except...endの最後で解放するメモリマネージャは EXE側、なんてあり得ないでしょ?じゃあどうするって? DLL側のエクスポートされた関数では成功、失敗をクラス型、文字列型ではないいわゆるPODな型で返す(普通はIntegerで、0は失敗、非0は成功)。 文字列を返したいなら、バッファを呼び出し元で確保して、そのポインタと有効な長さを渡し、呼び出し先でそこに文字列を格納する。 要はWin32APIのような作りにする、ということです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.