- - PR -
DLL同士の通信
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-02-09 16:10
みなさん、引数をArrayListで渡して、
うまくデータの受信、キャストができました。 以下の書込みについて、
今、調べていて、 SendDataTbl構造体を『IWrapDll(インタフェース)』のみに 記述し、送信側、受信側には記述をしないようにしたところ、 うまくいきました。 何日か前に、構造体を引数で渡してやろうとしたときには、 両方のDLL(送信側、受信側)に記述したところ、 コンパイルエラーになって、 『IWrapDll(インタフェース)』のみに記述して、 構造体が引数のときにはうまくいっていました。 それを考えると、 ゆうじゅんさんのおっしゃったように、 「別なものと認識されませんかね 」ってことになったのでしょうか。 もっと早く気づくべき、でしたね (^^;) 申し訳ないです。 みなさんには、いろいろアイデアをもらって 試してみていい経験になりました。 ありがとうございます。 喉に詰まったサカナの骨が取れた感じ、、ですねぇ(^^)/ | ||||||||
|
投稿日時: 2004-02-09 16:10
ほむらです。
-------- 優希氏へ
みたいですね〜。 インターフェイスの取得方法に問題があるのか、 それとも、別のところに問題があるのかがわかりませんけど^^;;;; Jitta氏のいうCreateInstance()が悪さしていると仮定して。。。 <適当> #.NETでプログラムしたことないので #同じ事をしているようならば読み捨ててください IWrapDll *wrapInst = dynamic_cast<IWrapDll*>(asmb->CreateInstance(strClsName)); ↓ IWrapDll *wrapInst = dynamic_cast<IWrapDll*>(asmb->GetType(strClsName)); とかしてみるとか? </適当> ちなみに、元ネタはAssembly::LoadFromのヘルプででいたサンプルを元にして考えています。
| ||||||||
|
投稿日時: 2004-02-09 16:12
ほむらさん、
サンプルありがとうございます。 同時に書込みしてしまったようですね。 無事、解決いたしました。(^^;) 【参照】投稿日時: 2004-02-09 16:10 [ メッセージ編集済み 編集者: 優希 編集日時 2004-02-09 16:13 ] [ メッセージ編集済み 編集者: 優希 編集日時 2004-02-09 16:15 ] | ||||||||
|
投稿日時: 2004-02-09 16:20
それは思いもしなかった。いや、考えないようにしていたかも。。。う〜ん、こういうのが、やっぱり楽しい。 何はともあれ、無事解決おめでとうございます。 | ||||||||
|
投稿日時: 2004-02-09 16:29
ほむらです。
----- 優希氏へ うまくできてよかったですね〜 しかし、原因は思いもしませんでした^^;;; ゆうじゅん氏の言葉がなかったらそのまま謎で終わってしまっていたかも(感謝) .NETになってネームスペースが普通になったから 二重定義エラーが出なくなったということですかね〜 僕も作るようになったら気をつけます。。。 #この認識まちがっていたらつっこみヨロです。 | ||||||||
|
投稿日時: 2004-07-05 16:01
半人前です。
ほぼ半年前に議論されていたものをほじくりかえすようで恐縮なのですが・・・
Jittaさんが仰られている「.NETのセキュリティがかかるようですが」とは、この文の 前後から「異なるコンピュータ同士のアプリケーションドメイン」に対してセキュリテ ィがかかる、という事を言わんとしていると捉えていいのでしょうか? | ||||||||
|
投稿日時: 2004-07-05 16:17
文意はそうですが、.NET Frameworkの仕様(?)では、セキュリティ設定で制御されます。デフォルトは、「自コンピュータ以外」です。ただし、ノータッチや共有ディレクトリから実行したアプリケーションが、自分の出所にアクセスすることは、セキュリティ例外を発生させません。 @ITにも記事がありますので、読み直してください。 | ||||||||
|
投稿日時: 2004-07-05 17:14
半人前です。申し訳ありません。。。
私の読解力に問題があるということは間違いないのですが(汗 .NETのSDK中にそれっぽい記述を見つけることができずに右往左往中です。 もしタイトル覚えていらっしゃったらお教え頂けないでしょうか(((((^^; |