- ベストアンサー
Delphi6 DLL内でのメモリ共有(?)
こんにちは、honiyonです。 複数アプリケーションからそれぞれコールバック関数を登録してもらい、状況に応じてそれぞれのコールバック関数を呼び出す、というDLLを作成しています。 しかし現在、呼び出しアプリケーションごとにメモリ空間が独立してしまい、コールバック情報を同一空間内で管理出来ずに困っています。 旧VerのDelphiで16bit DLLなら、interface部に定義した変数、オブジェクトはDLL内で同一空間内で共有出来るようですが、これをDelphi6 32bitDLLで行う事は不可能でしょうか? もしくは、その他の方法で独立メモリ空間を作らないようにする方法はありますでしょうか? 不可能な場合、CreateFileMappingが次に有効な手段として候補に挙がると思います。CreateFileMappingで管理クラスのポインタを渡してクラス共有というのは現実的な手法でしょうか? よろしくお願いいます(..
- みんなの回答 (2)
- 専門家の回答
補足
こんにちは、honiyonです。 お礼が遅くなり申し訳ありませんm(_ _)m 失礼ながらここにまとめてお礼させて頂きます。 調査したところ、メモリ空間が完全に独立してしまい、ポインタを共有したところで、渡された側でデータを参照できませんでした。 今回共有したかったデータはクラス型であったり、少々無理を感じたので設計そのものを見直す事にしました。 ご回答有難うございました(。。