• ベストアンサー

VC++での開発

私は,VC++のMDIで開発を進めています。 CMainFrameクラスで,IPアドレスをstrcpyで固定させ,その固定させたIPアドレスをCxxxAppクラスで使いたい場合(CxxxAppクラスから参照したい場合)どうすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

だいたい想像した通りかな? #1に書いた方法でOKですよ。 ただ、_CAMERAINFO構造体の実態を表す変数名に pCamInfoとするのはお勧めしません。 先頭にpをつけると、普通はポインタ変数を指す ことが多いからです。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

>IPアドレスをstrcpyで固定させ まったくもって意味不明です。 strcpyは文字列を複写する関数です。 ただしく説明してくれないと誰も答えられませんよ。 #まぁ、なんとなくわからないわけでもないですが・・・ こっちの勝手な想像で適当なヒントを。 CMainFramのメンバ変数を定義して、AfxGetMainWnd()で CMainFramのアドレスを取得かな? ただ、普通はアプリに固有な変数であれば、CWinAppの派生クラスにメンバ変数を作成して、各ウィンドウではAfxGetApp()でCWinAppのポインタをキャストして使いますが。

nishimotu
質問者

補足

説明がちゃんとなってなくてすいませんでした…。  ネットワークカメラのハンドルを取得するために使用する関数のパラメータの一つに,そのカメラのアドレスを設定しなければなりません。  そこで以下のような構造体があります。 typedef struct {    char   Address[256];    unsigned short Port;    }ADDRINFO; typedef struct{    BOOL Connect;    char Name[256];    ADDRINFO AddrInfo;    LOGINUSER UserInfo;    }_CAMERAINFO; _CAMERAINFO pCamInfo; これを使い、strcpyで以下のようにメンバ値を代入します。 strcpy(pCamInfo.AddrInfo.Address,"x.x.x.x"); これをCxxxAppクラスやCxxxViewクラスから参照したいというわけです。