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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.68637 の関連記事表示

<< 0 >>
■68637  テキスト形式のメモリマップドファイルについて
□投稿者/ mark225 -(2013/11/02(Sat) 17:36:30)

    分類:[C#] 

    他のアプリ(MT4)とのデータ授受にテキスト形式のメモリマップドファイルを検討中でして、調べたところ下記のコードが紹介
    されていましたので試したのですが「MappViewController」と「SMem」が未定義エラーとなり、中身が理解できていませんの
    でこれの解決方法が分かりません。

    また、相手側アプリが書き込みを終了したときにC#側でイベントを発生させることは出来るのでしょうか。

    対処方法をご教示願います。


    //書き込み
    public void SetTestData(string data)
    {
     MappViewController MappViewAccessor = new MappViewController(SMem); // マップビューアクセスクラスを生成
     SMem.OpenMapView_Write(); // マップビューオープン<書き込み用>
     int index = 0; // インデックス
     MappViewAccessor.SetStringData(ref index, data, "shift_jis"); // メモリマップドファイルへデーター書き込み
     SMem.CloseMapView(); // マップビュークローズ
    }

    //読み出し
    public string GetTestData()
    {
     string data;
     MappViewController MappViewAccessor = new MappViewController(SMem); // マップビューアクセスクラスを生成
     SMem.OpenMapView_Read(); // マップビューオープン<読み込み用>
     int index = 0; // インデックス
     data = MappViewAccessor.GetStringData(ref index, "shift_jis"); // メモリマップドファイルからデーター取得
     SMem.CloseMapView(); // マップビュークローズ
     return data;
    }
親記事 /過去ログ116より / 関連記事表示
削除チェック/

■68639  Re[1]: テキスト形式のメモリマップドファイルについて
□投稿者/ Jitta -(2013/11/02(Sat) 18:43:15)
>
    No68637 (mark225 さん) に返信
    > 他のアプリ(MT4)とのデータ授受にテキスト形式のメモリマップドファイルを検討中でして、調べたところ下記のコードが紹介
    > されていましたので試したのですが「MappViewController」と「SMem」が未定義エラーとなり、中身が理解できていませんの
    > でこれの解決方法が分かりません。
    > 
    > また、相手側アプリが書き込みを終了したときにC#側でイベントを発生させることは出来るのでしょうか。
    > 
    > 対処方法をご教示願います。
    > 
    > 
    > //書き込み
    > public void SetTestData(string data)
    > {
    >  MappViewController MappViewAccessor = new MappViewController(SMem);	// マップビューアクセスクラスを生成
    >  SMem.OpenMapView_Write();	// マップビューオープン<書き込み用>
    >  int index = 0;	 // インデックス
    >  MappViewAccessor.SetStringData(ref index, data, "shift_jis");	 // メモリマップドファイルへデーター書き込み
    >  SMem.CloseMapView();	 // マップビュークローズ
    > }
    > 
    > //読み出し
    > public string GetTestData()
    > {
    >  string data;
    >  MappViewController MappViewAccessor = new MappViewController(SMem);	// マップビューアクセスクラスを生成
    >  SMem.OpenMapView_Read();	// マップビューオープン<読み込み用>
    >  int index = 0;	// インデックス
    >  data = MappViewAccessor.GetStringData(ref index, "shift_jis");	// メモリマップドファイルからデーター取得
    >  SMem.CloseMapView();	// マップビュークローズ
    >  return data;
    > }
    
    少なくとも、そのコードが紹介されていたページを紹介してくれないと、何とも言えませんねぇ(^-^;
記事No.68637 のレス /過去ログ116より / 関連記事表示
削除チェック/

■68641  Re[2]: テキスト形式のメモリマップドファイルについて
□投稿者/ mark225 -(2013/11/02(Sat) 20:24:22)
    No68639 (Jitta さん) に返信

    > 少なくとも、そのコードが紹介されていたページを紹介してくれないと、何とも言えませんねぇ(^-^;
    >
    どうも失礼しました。m(__)m

    Azuleanさんのご指摘のとおり、http://note.chiebukuro.yahoo.co.jp/detail/n177458でした。
記事No.68637 のレス /過去ログ116より / 関連記事表示
削除チェック/

■68640  Re[1]: テキスト形式のメモリマップドファイルについて
□投稿者/ Azulean -(2013/11/02(Sat) 19:16:17)
    No68637 (mark225 さん) に返信
    > 他のアプリ(MT4)とのデータ授受にテキスト形式のメモリマップドファイルを検討中でして、調べたところ下記のコードが紹介
    > されていましたので試したのですが「MappViewController」と「SMem」が未定義エラーとなり、中身が理解できていませんの
    > でこれの解決方法が分かりません。

    未定義エラーなのですから、定義されていないのでしょう。
    ヘルプや MSDN を検索すればわかりますが、MappViewController も SMem も .NET Framework のクラスやメンバーではありませんので、その出展を調べることが必要でしょう。

    ところで、このページを見られているのでしょうか。
    http://note.chiebukuro.yahoo.co.jp/detail/n177458

    上の方で「元のページ」というようにリンクがついていますので、そちらから必要なソースコードを入手してください。


    > また、相手側アプリが書き込みを終了したときにC#側でイベントを発生させることは出来るのでしょうか。

    相手側アプリが修正可能であるならば、何らかの手立てはあるかもしれません。
    そもそも、修正可能なら、メモリマップドファイルを使うという案も見直し可能ではあります。
    (相手が .NET Framework アプリなら WCF や .NET Remoting の方がよいかもしれません)

    相手がネイティブアプリならウィンドウメッセージか、イベントオブジェクト(.NET で言うところの ManualResetEvent など)で書き込み完了を知ることができるようにする必要があるかもしれません。
記事No.68637 のレス /過去ログ116より / 関連記事表示
削除チェック/

■68642  Re[2]: テキスト形式のメモリマップドファイルについて
□投稿者/ mark225 -(2013/11/02(Sat) 20:31:14)
    No68640 (Azulean さん) に返信
    > ■No68637 (mark225 さん) に返信

    > 未定義エラーなのですから、定義されていないのでしょう。
    > ヘルプや MSDN を検索すればわかりますが、MappViewController も SMem も .NET Framework のクラスやメンバーではありませんので、その出展を調べることが必要でしょう。
    >
    > ところで、このページを見られているのでしょうか。
    > http://note.chiebukuro.yahoo.co.jp/detail/n177458
    >
    > 上の方で「元のページ」というようにリンクがついていますので、そちらから必要なソースコードを入手してください。
    >
    >
    >>また、相手側アプリが書き込みを終了したときにC#側でイベントを発生させることは出来るのでしょうか。
    >
    > 相手側アプリが修正可能であるならば、何らかの手立てはあるかもしれません。
    > そもそも、修正可能なら、メモリマップドファイルを使うという案も見直し可能ではあります。
    > (相手が .NET Framework アプリなら WCF や .NET Remoting の方がよいかもしれません)
    >
    > 相手がネイティブアプリならウィンドウメッセージか、イベントオブジェクト(.NET で言うところの ManualResetEvent など)で書き込み完了を知ることができるようにする必要があるかもしれません。

    いろいろとアドバイスを頂き、有り難うございました。

    私は「メモリマップドファイル」しか頭にありませんでしたが幾つもの選択肢があるのですね。勉強になりました。
    頂いたヒントを元に調べてみたいと思います。
記事No.68637 のレス / END /過去ログ116より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -