※ ChatGPTを利用し、要約された質問です(原文:異なるexeから参照しているdllの変数は実行時のメモリ領域として独立的か?)
異なるexeから参照しているdllの変数は実行時のメモリ領域として独立的か?
このQ&Aのポイント
異なるexeから参照しているdllの変数は実行時のメモリ領域として独立的か?これは本当に真なのかを確認させてください。
Delphi3.0からVB.NET2003にシステム移行する際、異なるexeから参照しているdllの変数は実行時のメモリ領域として独立的か確認する必要があります。
A.exeとB.exeで参照しているCommon.dllの変数は実行時のメモリ領域として独立的であるかどうかを確認することが重要です。
異なるexeから参照しているdllの変数は実行時のメモリ領域として独立的か?
結論から質問内容を言うと、
異なるexeから参照しているdllの変数は実行時のメモリ領域として独立的か?
具体的には、
A.exeと、B.exeの両方で参照している
Common.dllに定義しているクラスの
staticなフィールドは、A.exe実行時のメモリ領域と、
B.exe実行時のメモリ領域と、完全に別で独立状態
であることを前提にしているのですが。。。
これは本当に真なのかを確認させてください。
あたりまえじゃねーかバカ野郎っていわれそうですが
ちょっと、そこ間違えると後で、痛いので、
念押しで再確認お願いします。
<質問に至った経緯>
Delphi3.0からVB.NET2003(2005未対応のコンポーネントを使用する諸事情があったから)
にシステム移行の案件があり、
工数を避けません。現在、開発方針を検討中で調査していると、デルファイプロジェクトAと、
デルファイプロジェクトBで、Commonという名前の
フォルダにあるソースを共有していて、
A.exeとB.exeを作っていました。
特に共通部分をdllにしていたりしていませんが。
VB.NETでそれは、きついので、
Commonにあるソースだけ、集めたCommon.dllを作る
プロジェクトを作り、Aプロジェクト、BプロジェクトがCommon.dllを参照するやり方を検討しました。
Common.dllには、たくさんグローバルな変数が定義されていたので、
グローバルなデータは、もともとのソースファイルごとにクラスを
作ってそこにスタティックなフィールドとして宣言していく。それをAや、Bのプロジェクトのソースで
使うが、もともと、デルファイがexeが完全にわかれていたので、VBでdllに分けた結果、実行時にメモリも
共有されると、意図した動きをしてくれない懸念が
あるので、それはないのかどうかを確認したかった。
###########################################
以上です。
お礼
すばやい回答を頂いたのに、返事がおくれました。 すぐに回答を頂いたので、安心して、仕事できました。 ありがとうございます。