C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
メモリストリームをexeのパラメータに指定する方法について
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
ツリー表示
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■100581
/ inTopicNo.1)
メモリストリームをexeのパラメータに指定する方法について
▼
■
□投稿者/ ジェイド
(1回)-(2022/09/25(Sun) 12:05:24)
分類:[VB.NET/VB2005 以降]
VisualStudio2013 VB.Net(.NetFramework4.5)で作れていたプログラムを改修しようとしております。
現在、引数に絶対パスを指定して、起動時にそのパス情報を元にファイル読み込みして読んだイメージを
画面に表示している機能があります。
これをパラメータに指定するのをパスではなく、メモリストリームにしたいと思っているのですが
可能なのでしょうか?
当画面の呼び出し元のプログラムがこの為にローカル環境にファイル保存をしていまして
ファイル保存することなく、ファイルの中身をパラメータでやり取り出来ないかと考えております。
もしやり方をご存じの方がおられましたらご教授いただければ幸いです。
宜しくお願い致します。
引用返信
編集キー/
編集
■100582
/ inTopicNo.2)
Re[1]: メモリストリームをexeのパラメータに指定する方法について
▲
▼
■
□投稿者/ Azulean
(1256回)-(2022/09/25(Sun) 12:40:11)
■
No100581
(ジェイド さん) に返信
> これをパラメータに指定するのをパスではなく、メモリストリームにしたいと思っているのですが
> 可能なのでしょうか?
コマンドライン引数(exe の後にファイルパスを指定するもの)であれば、「文字列」以外を渡せませんので「できません」。
> 当画面の呼び出し元のプログラムがこの為にローカル環境にファイル保存をしていまして
> ファイル保存することなく、ファイルの中身をパラメータでやり取り出来ないかと考えております。
(1) exe を分けず、1 つのアプリケーションに仕立てる
(2) WCF などを使って MemoryStream ではなく、Byte 配列で受け渡す
(3) MemoryMappedFile を使う
といったところが候補になってくると思います。
しかし、いずれも相応に学習コストや対応コストがかかりますので、「この為にローカル環境にファイル保存をしていまして」を辞めたかった理由次第ですが、諦めるのが現実的ではないでしょうか?
引用返信
編集キー/
編集
■100583
/ inTopicNo.3)
Re[1]: メモリストリームをexeのパラメータに指定する方法について
▲
▼
■
□投稿者/ Hongliang
(1253回)-(2022/09/25(Sun) 12:48:15)
MemoryStreamとして渡すというのは不可能なので、方法を考える必要があります。
その画像がpngにして大きくても20kBほどなのであれば、pngバイナリをBase64変換して引数に渡すという手があります(引数の最大長は32000文字程度)。
あとは何らかのプロセス間通信を使うことになるでしょう。
例えば
・標準入出力(渡す側はProcess.Standard、受け取る側はConsole.Inなどを使う)
・名前付きパイプ(コマンドライン引数でパイプの名前を受け渡しして名前を共有、System.IO.NamedPipes名前空間のクラスを使う)
起動時に渡すだけならRPC系はちょっと大掛かりすぎますかね。
引用返信
編集キー/
編集
■100584
/ inTopicNo.4)
Re[2]: メモリストリームをexeのパラメータに指定する方法について
▲
▼
■
□投稿者/ ジェイド
(2回)-(2022/09/25(Sun) 13:17:20)
Azulean さん
Hongliangさん
ご返信ありがとうございます。
やはり単純にメモリーストリームをパラメータにセットするのは無理ということですよね。
ファイルのサイズにも制限をかけることは出来ないかと思うので、今のやり方になっているのかもしれないですね。
ちょっと断念することにします。
教えていただいた内容を元に他の方法を検討してみます。
お忙しいところ教えていただきありがとうございました。
解決済み
引用返信
編集キー/
編集
このトピックをツリーで一括表示
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
入力内容にタグは利用できません。
他人を中傷する記事は管理者の判断で予告無く削除されます。
半角カナは使用しないでください。文字化けの原因になります。
名前、コメントは必須記入項目です。記入漏れはエラーになります。
入力内容の一部は、次回投稿時の手間を省くためブラウザに記録されます。
URL は自動的にリンクされます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
名前
(*必須)
E-Mail (任意)
Web サイト (任意)
投稿モード
通常モード
図表モード (ソースコードを貼る場合はこちらを使用)
本文
(質問の場合は、開発環境・使用言語のバージョンなどを最初に書いてください)
■No100584 (ジェイド さん) に返信 > Azulean さん > Hongliangさん > > ご返信ありがとうございます。 > > やはり単純にメモリーストリームをパラメータにセットするのは無理ということですよね。 > ファイルのサイズにも制限をかけることは出来ないかと思うので、今のやり方になっているのかもしれないですね。 > ちょっと断念することにします。 > > 教えていただいた内容を元に他の方法を検討してみます。 > お忙しいところ教えていただきありがとうございました。 >
編集キー
自分の投稿を編集する時に必要です
(半角8文字以内)
解決済み
/
解決したらチェックしておきましょう。
プレビュー/
管理者用
-
Child Tree
-