掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TStringListとArray (ID:38094)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 同じバージョンでコンパイルしたものは相対アドレスは同じコードになりますが、そうでない場合が > ない、と言い切れますか? 共通パッケージの必要性や ShareMem はなんのためにあるか理解してますか? 相対アドレスって何に対する相対アドレスですか? VMTのことを言ってるなら、テーブル内の関数アドレスは全部絶対アドレスですよ。 あなたこそ本当に理解していますか? インスタンスを受け渡すことと、ShareMemや共通パッケージは直接的な関係はありませんよ? ShareMemは単にメモリマネージャを共通化するためのものです。 TStringListの要素数を変更する場合などはShareMemが必要になりますが、 ただ読み取るだけならShareMemを使う必要すらありません。 EXEとDLLが異なったメモリマネージャを使っていても、 それぞれのメモリマネージャで生成と破棄をきちんと行うのであれば、 同一プロセス内の話ですからメモリアクセス自体には何の問題もありませんので。 共通パッケージもEXEとDLLで共通のコードを使うというただそれだけの話で、 共通パッケージとEXE、DLLのVCLバージョンが異なれば使わないのと同じ状態になるのを理解できてますか? どうも間違った認識を持っているようですが、机上の空論を振りかざす前に実際に試してみてください。 もしくはShareMemや共通パッケージのロード部などのソースコードを実際に読んでみると良いでしょう。 その上でまだ反論があるようでしたら、ただできないできないと喚くのではなく、 具体的に何が問題となるか書いて下さい。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.