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

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

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

No.7435 の関連記事表示

<< 0 >>
■7439  Re[2]: CLR クラス ライブラリとMFCアプリケーション間でファイルマッピング
□投稿者/ ゆうじ -(2006/10/11(Wed) 17:41:44)

    分類:[VC++(C++/CLI)] 

    Blueさん返事ありがとうございます。

    > VC2005ではデフォルトがUnicodeになったので、、、
    > とちょっと長くなるので、
    > http://cgi21.plala.or.jp/keny01/patio_32/patio.cgi?mode=view&no=250
    > を参考にしてください。
    大変わかりやすい説明で理解できました。
    ありがとうございました。

    また、下記コードで通信できることを確認いたしました。
    hCreate = ::CreateFileMappingA( (HANDLE)0xFFFFFFFF,
    NULL, PAGE_READWRITE, 0, MEMMAP_EVALCEPH_LENGTH, (LPCSTR)lpName );


    > >MFCアプリケーションからCLR クラス ライブラリを参照する方法も
    > >教えていただければ、非常にありがたいです。
    > http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=671312&SiteID=7
    > を参考にしてください。
    > 但し、クラスライブラリのCLRプロジェクトは試していませんのでもしかしたらエラーがでるかも。
    ありがとうございました。
    DLL対応も検討してみます。


記事No.7435 のレス / END /過去ログ7より / 関連記事表示
削除チェック/

■7436  Re[1]: CLR クラス ライブラリとMFCアプリケーション間でファイルマッピング
□投稿者/ Blue -(2006/10/11(Wed) 17:03:26)

    分類:[VC++(C++/CLI)] 

    >私の推測では引数lpNameの文字コードなどの問題なのでしょうか?
    >私の技量では解決できませんでしたが・・・。
    多分そうでしょう。

    VC2005ではデフォルトがUnicodeになったので、、、
    とちょっと長くなるので、
    http://cgi21.plala.or.jp/keny01/patio_32/patio.cgi?mode=view&no=250
    を参考にしてください。

    >(LPCWSTR)lpName
    最低最悪のキャストです。
    こんなキャストするならば、CreateFileMappingAを明に呼んでください。


    >MFCアプリケーションからCLR クラス ライブラリを参照する方法も
    >教えていただければ、非常にありがたいです。
    http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=671312&SiteID=7
    を参考にしてください。
    但し、クラスライブラリのCLRプロジェクトは試していませんのでもしかしたらエラーがでるかも。

記事No.7435 のレス /0過去ログ7より / 関連記事表示
削除チェック/

■7435  CLR クラス ライブラリとMFCアプリケーション間でファイルマッピング
□投稿者/ ゆうじ -(2006/10/11(Wed) 16:50:21)

    分類:[VC++(C++/CLI)] 


    分類:[VC++(C++/CLI)] 

    いつもお世話になっております。ゆうじです。

    CLR クラス ライブラリとMFCアプリケーション間で
    ファイルマッピングにより通信したいと思いますが、
    うまくいきません。

    よろしくお願いいたします。

    開発環境:VS2005 Professional
    OS:WinXP SP2

    【ソースの構成】
    下記の「1.」と「2.」共に同様な、
    CreateFileMapping関数でファイルマッピングオブジェクトを作成しています。

    <1.VB.NET WindowsアプリケーションからCLRクラス ライブラリの参照>
    ソリューションに下記のプロジェクトを追加しています。
    ※以下は作成した手順です。
    1−1. VB.NET→Windows→Windowsアプリケーション
    1−2.Visual C++→CLR→クラス ライブラリ

    1−1. →1−2.で参照設定しています。

    ・1−2.のクラス内のソース抜粋
    HANDLE クラスA::CreateMemMap(char* lpName)
    {
    HANDLE hCreate;

    hCreate = ::CreateFileMapping( (HANDLE)0xFFFFFFFF,
    NULL, PAGE_READWRITE, 0, 10*256, (LPCWSTR)lpName );

    return hCreate;
    }

    <2.MFCアプリケーション>
    ソリューションに下記のプロジェクトを追加しています。
    2−1.MFCアプリケーション

    ・2−1.のクラス内のソース抜粋
    void クラスB::CreateMemMap(HANDLE &hCreate, LPCTSTR lpName)
    {
    hCreate = ::CreateFileMapping( (HANDLE)0xFFFFFFFF,
    NULL, PAGE_READWRITE, 0, 10*256, lpName ) ;
    }


    【現象】
    1−2.と2−1.で通信できない。
    引数lpNameが同じなのに(他の引数も同じ)CreateFileMappingの戻り値が、
    まったく違う値になるため通信できない。

    MSDNには、「戻り値」の欄に、
    「指定したファイルマッピングオブジェクトが既に存在していた場合は、
    既存のファイルマッピングオブジェクトのハンドルが返ります。」
    と記載されているため、同じ戻り値といなるはずなのですが・・・。


    【質問】
    私の推測では引数lpNameの文字コードなどの問題なのでしょうか?
    私の技量では解決できませんでしたが・・・。

    また、この場合、現在通信内容が増えた場合2箇所修正しなければならないので、
    MFCアプリケーション側でも、CLR クラス ライブラリを
    共通で参照したほうが良いのでしょうか?
    MFCアプリケーションからCLR クラス ライブラリを参照する方法も
    教えていただければ、非常にありがたいです。

    いつも質問だらけで申し訳ございませんが、
    ご教示のほどよろしくお願いいたします。

親記事 /0過去ログ7より / 関連記事表示
削除チェック/

■7435  Re[4]: my.computerってどう使用
□投稿者/ 魔界の仮面弁士 -(2007/09/05(Wed) 16:36:24)
    2007/09/05(Wed) 17:10:52 編集(投稿者)

    No7433 (han さん) に返信
    > 空のプロジェックト

    「空のプロジェクト」では、My を使用できません。

    http://msdn2.microsoft.com/ja-jp/library/ms172698%28VS.80%29.aspx
    の後半部にある一覧表をご覧ください。


    必要であれば、My.Computer.Network の代わりに、
    If New Microsoft.VisualBasic.Devices.Network().Ping("www.163.com") Then
    のような構文を利用することができます。
記事No.7424 のレス /過去ログ18より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -