- ベストアンサー
VC++での開発
私は,VC++のMDIで開発を進めています。 CMainFrameクラスで,IPアドレスをstrcpyで固定させ,その固定させたIPアドレスをCxxxAppクラスで使いたい場合(CxxxAppクラスから参照したい場合)どうすればいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
だいたい想像した通りかな? #1に書いた方法でOKですよ。 ただ、_CAMERAINFO構造体の実態を表す変数名に pCamInfoとするのはお勧めしません。 先頭にpをつけると、普通はポインタ変数を指す ことが多いからです。
その他の回答 (1)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
回答No.1
>IPアドレスをstrcpyで固定させ まったくもって意味不明です。 strcpyは文字列を複写する関数です。 ただしく説明してくれないと誰も答えられませんよ。 #まぁ、なんとなくわからないわけでもないですが・・・ こっちの勝手な想像で適当なヒントを。 CMainFramのメンバ変数を定義して、AfxGetMainWnd()で CMainFramのアドレスを取得かな? ただ、普通はアプリに固有な変数であれば、CWinAppの派生クラスにメンバ変数を作成して、各ウィンドウではAfxGetApp()でCWinAppのポインタをキャストして使いますが。
補足
説明がちゃんとなってなくてすいませんでした…。 ネットワークカメラのハンドルを取得するために使用する関数のパラメータの一つに,そのカメラのアドレスを設定しなければなりません。 そこで以下のような構造体があります。 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クラスから参照したいというわけです。