データの持ち回り使用方法 – プログラミング – Home

データの持ち回り使用方法
 
通知
すべてクリア

[解決済] データの持ち回り使用方法


QYUU
 QYUU
(@QYUU)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

通信系PGで以下のことを行いたいと思います。
1.初期起動処理として、制御に使用するデータを起動時にメモリに読み込みオブジェクトの形
で常駐させる。
(使用しやすいように、XMLまたはCSVをオブジェクト形式に変換しておきたいです。)
2.電文受信時に受信メインからDLL(確定です)で作成した受信処理が呼び出される。
3.受信処理で、1.のオブジェクトを使用する。
補足:パラメタとして渡すことはできません。
以上のようなことを行う場合、どのような仕組みを使用すればよろしいでしょうか。


引用未解決
トピックタグ
...
 ...
(@...)
ゲスト
結合: 22年前
投稿: 113
 

上司に相談してはいかが?

http://www.mtakahashi.com/cgi.cgi?12151


返信引用
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

お名前は違いますが、おそらくこちらもですね。

http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200410/04100007.txt

何箇所に書いても解答はそう変わらないと思います。

> マルチポストとは、「同じ内容の質問などを複数の掲示板等に書き込むこと」です。
> この行為はマナー違反として嫌われています。マルチポストは行わないで下さい。

こちらの掲示板の「使用上の注意」にも違反しますし、むしろ回答は得られにくくなる
一方だと思います。


返信引用
QYUU
 QYUU
(@QYUU)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

すいません。
よく読んでいませんでした。
以後気をつけます。


返信引用
アイススケーター
 アイススケーター
(@アイススケーター)
ゲスト
結合: 22年前
投稿: 280
 

>(使用しやすいように、XMLまたはCSVをオブジェクト形式に変換しておきたいです。)
すみませんが意味不明???


返信引用
QYUU
 QYUU
(@QYUU)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

すいません。説明不足でした。
ディスク上にあるXMLまたはCSVのファイル内容を
メモリ上に展開するときはクラスオブジェクトのメンバ
変数にセットして利用したいということです。


返信引用
たく
 たく
(@たく)
ゲスト
結合: 21年前
投稿: 29
 

なにに躓いてるのかさっぱりわかりません。

仕様を丸投げするのではなく、
なにができてなにができないのか
その辺を明確にしてください。


返信引用
はる
 はる
(@はる)
ゲスト
結合: 21年前
投稿: 34
 

つまりはDLLにパラメータを渡すことなく
DLLから呼び出し元が管理するメモリ空間のデータを
参照したいのだけど、どんなやり方がありますか?
という質問ではないかと・・・

CreateFileMapping MapViewOfFile ではダメ?


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

通信系PGで以下のことを行いたいと思います。
>1.初期起動処理として、制御に使用するデータを起動時にメモリに読み込みオブジ
>ェクトの形で常駐させる。
>(使用しやすいように、XMLまたはCSVをオブジェクト形式に変換しておきたい
>です。)

これは置いといて

>2.電文受信時に受信メインからDLL(確定です)で作成した受信処理が呼び出さ
>れる。

実際にレシーブするのはDLLの中の関数ですよね

>3.受信処理で、1.のオブジェクトを使用する。
「受信処理」とはDLLの中の関数の一部ですよね

であれば、DLLの関数の中でデータ読み込みすればいいのではないのでしょうか

>補足:パラメタとして渡すことはできません。
ここで一口に言う「パラメタ」とはどんなことを指すのでしょうか
もし、引数でハンドル渡し、値渡し、アドレス渡し すべて拒否されるんだったら
無理だと思いますけど、どうでしょうか

「はる さん」の回答も無駄になってしまうと思います

出題されているのは、値渡しがだめなだけで、ほかは良いんじゃないの

>DLL(確定です)
って良い言ってるけど、メインのEXEだけ作りたいのでしょうか


返信引用
QYUU
 QYUU
(@QYUU)
ゲスト
結合: 23年前
投稿: 5
Topic starter  

共有メモリにオブジェクトを配置する仕組みがIBMのHPにありましたが、
複雑で面倒な処理に見えるし今回のケースに当てはめることが可能か判断付
きませんでした。
オブジェクト形式に固執しないで、シリアライズ(XMLファイル)、
構造体(CSVファイル)の仕組みを利用して共有メモリに持つことを検討
したいと思います(この方が他の人がソースを見てもわかりやすいですよね)。
共有メモリから取り込むときにオブジェクト形式に変換しようと思います。
適切なご意見、有り難うございました。


返信引用
REE
 REE
(@REE)
ゲスト
結合: 23年前
投稿: 240
 

背景の推測1
・プログラム作成の依頼を受けた
・EXEとDLL両方とも新規開発
・しかし、EXEとDLLのインターフェースのみ決められている。

お勧め
・インターフェースを変更することを提案する。

背景の推測2
・プログラム作成の依頼を受けた
・通信用EXEと初期設定用EXEが分離している。
・初期設定用EXEとDLLを新規開発
・当然通信用EXEとDLLのインターフェースは決められていて、変更不能。

お勧め
・DLLに初期設定用EXEとのインターフェースを追加する。(またはそれを提案する)


返信引用
たく
 たく
(@たく)
ゲスト
結合: 21年前
投稿: 29
 

解決されたようでなによりです、が

何を指してオブジェクトといってますか?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました