- - PR -
EXE間のDataSet受け渡し
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-12-04 15:22
.NET初心者のみやと申します。初めて書き込みします。
現在、VB.NETにてWindowsアプリ(クラサバ)を開発しています。 複数のEXE(機能単位)からなるシステムを考えているのですが、 メニューのEXEでシステムで出すメッセージ(DataSet)を取得し、 各EXEでもそれを使いたいのです。 EXE間でDataSetの受け渡しは可能なのでしょうか? | ||||
|
投稿日時: 2003-12-04 15:51
.NETは使ったことはありませんので一般論ですが、
起動するときに 値を渡したいのでしょうか、あるいは非同期に起動しているアプリに 値を渡したいのでしょうか? | ||||
|
投稿日時: 2003-12-04 16:00
メニューから各EXEを起動する形を考えていますので、
起動時に渡す方法です。 渡す、あるいは参照でもできればと思うのですが・・・ | ||||
|
投稿日時: 2003-12-04 16:04
見当違いかもしれませんが、値を渡したいだけであれば、
コマンドライン引数で渡せばよいのでは? 各EXEのハンドルを保持しておき、渡したいときにPostMessage という手もあるかと思いますが。 | ||||
|
投稿日時: 2003-12-04 16:09
参考になるかわかりませんが
共有メモリに格納して渡すとか もしくはシリアル化して、ファイル経由で渡すとかですかね。。。 | ||||
|
投稿日時: 2003-12-04 16:33
なぜ複数のexeにするのでしょ。
当初ロードする量を抑えたいならモジュールを分割すれば十分かと。 | ||||
|
投稿日時: 2003-12-04 16:51
複数EXEにするのは、変更箇所を最小に抑えるためです。
変更が発生したEXEだけを差し替え、他のEXEに影響が 少ないようにと考えています。 また、EXEのサイズがあまり大きくならないようにする ためでもあります。 | ||||
|
投稿日時: 2003-12-04 17:01
この「モジュール」って、VS.NETの中で目に付きやすい言葉では「プロジェクト」じゃないですか?(VB.NETのモジュールの意味じゃないですよね、さすがに) 1ソリューションで画面ごとにプロジェクトに分割、メニュー画面のみ「アプリケーション」とし、他は「クラスライブラリ」、画面はクラスライブラリに「Windowsフォームの追加」で追加して、「アプリケーション」のプロジェクトに参照させ、インスタンス化する。 アプリケーションは1つで情報は共有できるけれど、EXEのサイズは小さいまま、変更が発生したDLLだけ差し替えできるようになる、と思います。 |