C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: C#でのサブプログラムの読み出し


(過去ログ 118 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■69095 / inTopicNo.1)  C#でのサブプログラムの読み出し
  
□投稿者/ 吉永 (1回)-(2013/12/04(Wed) 00:42:22)

分類:[C#] 

2013/12/04(Wed) 00:42:53 編集(投稿者)


一度exeにしたあとで、更新をするのではなく、外部ファイルでアプリケーションを拡張する方法がしりたいです。

C#で書いたexeのプログラムの中にボタンがあり、そのボタンを押すと同じフォルダ内にある別のプログラムから関数を持ってきて処理してくれる。もしも、ボタンに割り当てられているプログラムがフォルダ内にない場合はtyr catchで「プログラムがありません」とメッセージをだすようなものを考えています。
引用返信 編集キー/
■69097 / inTopicNo.2)  Re[1]: C#でのサブプログラムの読み出し
□投稿者/ 悪魔の天使 (1回)-(2013/12/04(Wed) 09:19:10)
No69095 (吉永 さん) に返信
> 2013/12/04(Wed) 00:42:53 編集(投稿者)
>
>
> 一度exeにしたあとで、更新をするのではなく、外部ファイルでアプリケーションを拡張する方法がしりたいです。
>
> C#で書いたexeのプログラムの中にボタンがあり、そのボタンを押すと同じフォルダ内にある別のプログラムから関数を持ってきて処理してくれる。もしも、ボタンに割り当てられているプログラムがフォルダ内にない場合はtyr catchで「プログラムがありません」とメッセージをだすようなものを考えています。

【DLL】でいいんじゃないでしょうか?
その外部ファイルがEXEとなると・・・・
【プログラム間通信】という形になると思います。
いずれにしてもネットで【】内の文字で検索すると情報がいっぱい出てきますよ。
引用返信 編集キー/
■69098 / inTopicNo.3)  Re[1]: C#でのサブプログラムの読み出し
□投稿者/ an (5回)-(2013/12/04(Wed) 09:23:00)
No69095 (吉永 さん) に返信
> 2013/12/04(Wed) 00:42:53 編集(投稿者)
>
>
> 一度exeにしたあとで、更新をするのではなく、外部ファイルでアプリケーションを拡張する方法がしりたいです。
>
> C#で書いたexeのプログラムの中にボタンがあり、そのボタンを押すと同じフォルダ内にある別のプログラムから関数を持ってきて処理してくれる。もしも、ボタンに割り当てられているプログラムがフォルダ内にない場合はtyr catchで「プログラムがありません」とメッセージをだすようなものを考えています。


使ったことはないのでよくわかりませんが、
プラグイン形式でいけないでしょうか?
(関数レベルとしてうまくいけるかわかりませんが・・・)

以下のTipsでご確認ください。
http://dobon.net/vb/dotnet/programing/plugin.html

引用返信 編集キー/
■69099 / inTopicNo.4)  Re[2]: C#でのサブプログラムの読み出し
□投稿者/ 悪魔の天使 (2回)-(2013/12/04(Wed) 09:52:44)
No69098 (an さん) に返信

>
> 使ったことはないのでよくわかりませんが、
> プラグイン形式でいけないでしょうか?
> (関数レベルとしてうまくいけるかわかりませんが・・・)

大丈夫ですよ。プラグインってDLLですから
引用返信 編集キー/
■69101 / inTopicNo.5)  Re[3]: C#でのサブプログラムの読み出し
□投稿者/ とっちゃん (180回)-(2013/12/04(Wed) 10:23:51)
とっちゃん さんの Web サイト
No69099 (悪魔の天使 さん) に返信

とりあえず、突っ込んでおきたくなったので。。。
プラグイン=DLLではありません。
アウトプロセス方式のプラグインも存在します。
具体例としては、エクスプローラのプレビュー機能は、DLLでもEXEでも実装可能なプラグイン形式です。

Vista以降のOSに用意されたほうの。。。ですがw

ま、そこはともかく。
適当に、キーワードをちりばめるということで、
・プラグイン(plugin)
・アドイン(addin)
・アドオン(addon)
・MEF
これくらいあればいいかな?
それと、ここでも何度か話題になっていますが、
・リフレクション
も。
.NET Framework で作られたアプリケーションの機能拡張や解析などの基本となる仕組みです。
上記すべてがとは言いませんが、大半がこの仕組みを利用することで実現しています。

と、それと .NET Framework での利用はお勧めできませんが、冒頭にも出ている
・COM

なんか、まだ足りない気もするけどこれくらいかなぁ?


引用返信 編集キー/
■69136 / inTopicNo.6)  Re[1]: C#でのサブプログラムの読み出し
□投稿者/ Jitta (117回)-(2013/12/05(Thu) 21:57:36)
Jitta さんの Web サイト
No69095 (吉永 さん) に返信
んーーーー?

> C#で書いたexeのプログラムの中にボタンがあり、そのボタンを押すと同じフォルダ内にある別のプログラムから関数を持ってきて処理してくれる。

では、その、「ボタン」は、誰が、いつ、どうやって、用意するの?

 関数が使用できるのは、その関数のインタフェースを予め知っているからです。
プログラムを拡張するのは、予め知っていない機能を追加するからです。
知っていない関数は「情報なしで呼び出すだけで使用できます」という場合くらいです。
もっとも、それにしたって、「こういう場合にこういう情報を返します」くらいは定義するけど。

引用返信 編集キー/
■69294 / inTopicNo.7)  Re[2]: C#でのサブプログラムの読み出し
□投稿者/ 吉永 (2回)-(2013/12/14(Sat) 15:52:09)
No69136 (Jitta さん) に返信
> ■No69095 (吉永 さん) に返信
> んーーーー?
>
>>C#で書いたexeのプログラムの中にボタンがあり、そのボタンを押すと同じフォルダ内にある別のプログラムから関数を持ってきて処理してくれる。
>
> では、その、「ボタン」は、誰が、いつ、どうやって、用意するの?
>
>  関数が使用できるのは、その関数のインタフェースを予め知っているからです。
> プログラムを拡張するのは、予め知っていない機能を追加するからです。
> 知っていない関数は「情報なしで呼び出すだけで使用できます」という場合くらいです。
> もっとも、それにしたって、「こういう場合にこういう情報を返します」くらいは定義するけど。
>



dllがあったならボタン出現。dllはそのボタンによって開始するというルールで作れば可能ですか?
引用返信 編集キー/
■69296 / inTopicNo.8)  Re[3]: C#でのサブプログラムの読み出し
□投稿者/ Jitta (121回)-(2013/12/14(Sat) 16:34:52)
Jitta さんの Web サイト
No69294 (吉永 さん) に返信
> dllがあったならボタン出現。dllはそのボタンによって開始するというルールで作れば可能ですか?

たぶん、不足。
その DLL が、アプリケーションの知っている I/F 関数を実装してる(公開している)なら、でしょう。

たとえば、http://www.digitalpad.co.jp/~takechin/ とか http://www.csdinc.co.jp/archiver/index.html のアプリは、
アプリケーション作者が「こういう関数を実装している DLL があれば、それを読み込むよ」としています。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -