![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
C#でWindowsフォームのアプリケーションを作りました
構成は親のフォームのプログラムFormMain.csと5ケの子供プログラムFormSub1~5.csです
データの受渡しは親プログラムの中に
class CommonData
{
static public bool BoolData = true;
static public int IntData = 1;
static public string StringData = "冬が来ました";
}
を作り、子供プログラムの中で
if (CommonData.BoolData == false) .........
int j = CommonData.IntData;
CommonData.StringData = "きっと春も来るでしょう";
などとやっておりました
ところが今回事情があり、Windowsフォームのアプリケーションのプロジェクトとは別プロジェクトとして.NET C++でDLLを作らなくてはならなくなりました
サンプル等を参照して何とかDLLを作り動かしましたが、DLLの中で上述のCommonData.BoolDataを参照しなくてはなりません
デバックではDLLの中でCommonData.BoolDataに変わる固定値を臨時に設定してロジックを検証しました
ところが本番ではWindowsフォームのアプリケーションのFormMain.csの中に規定されたCommonData.BoolDataを参照しなくてはなりません
DLL側でどのようにすれば良いのでしょうか?
なおCommonData.BoolDataのtrue、falseは時々刻々変化しますので、DLLが起動される度に最新の状態を参照したいのです
No.1ベストアンサー
- 回答日時:
A:FormMain.csがある実行ファイル
B:.NET C++のDLL
とすると、AがBを使っているが、BからもAのデータに一部アクセスしたい、ということでしょうか。
だとすると、不可能ではないですがかなり面倒ですので下記のような構造にすることをお勧めします。
A:FormMain.csがある実行ファイル
B:.NET C++のDLL
C:データ管理を行うDLL(CommonData等を含むC#のプロジェクト)
として、
A → B、C にアクセスする
B → C にアクセスする
という構造にするのはどうでしょうか。
ありがとうございます
お教えに従い色々トライしてみましたが、現在のところ上手くいきません
仕方がないので臨時的ににRegistry渡しにしています
でもこれでは秘密保持上問題です
一般使用する際には絶対的にメモリー参照方式に切り替えなくてはなりません
今後もトライを続けますので宜しくご指導願います
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
初級者の質問――time_tについて
-
三次元のグラフを書きたいので...
-
vba listviewにおけるtextのAli...
-
お掃除ロボットのソースコード
-
VBAプログラミング
-
ネットワークコマンドをプログ...
-
VBコンソールアプリ(.NET Frame...
-
processingで雪が積もるような...
-
if文の中の処理
-
プロダクションコードとは?
-
2値化した画像の黒い部分のピク...
-
C++ Builder6 をふたたび動か...
-
Rubyでの連立不定方程式について
-
NumLockの制御について
-
指定したフォルダーを最前面表...
-
Excel VBA で、データベースフ...
-
プログラムってコードに性格っ...
-
無限ループ中にある任意のキー...
-
expectを使用しない対話型処理
-
COBOLのS9タイプからXタイプへ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
指定したフォルダーを最前面表...
-
vba listviewにおけるtextのAli...
-
プロダクションコードとは?
-
COBOLのS9タイプからXタイプへ...
-
C言語primeについて
-
マイコンからプログラムを読み...
-
2値化した画像の黒い部分のピク...
-
初級者の質問――time_tについて
-
Webプログラムってネイティブア...
-
c言語のサイコロを100回振って...
-
Arduino nano(アルドゥイーノ ...
-
Excel VBA で、データベースフ...
-
processingで雪が積もるような...
-
無限ループ中にある任意のキー...
-
プログラミングの問題と解答例...
-
三次元のグラフを書きたいので...
-
VBコンソールアプリ(.NET Frame...
-
gccでスタックオーバーフローの...
-
javaで辞書プログラムを作りたい.
-
アプリ終了時にタスクトレイか...
おすすめ情報