ViewはなぜDocがわかるのでしょうか? – プログラミング – Home

ViewはなぜDocがわかるのでしょう...
 
通知
すべてクリア

[解決済] ViewはなぜDocがわかるのでしょうか?


はてなくん
 はてなくん
(@はてなくん)
ゲスト
結合: 22年前
投稿: 15
Topic starter  

はじめまして、はてなくんです。

環境はVC6でMFCを使っています。

CHogeViewのヘッダファイルには
CHogeDoc* GetDocument();
と記述があります。

CHogeViewはなぜCHogeDocを知っているのでしょうか?
ファイルをインクルードしているようには見えません。

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


引用未解決
トピックタグ
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

CHogeAppのInitInstance()で関連付けているようです。

CSingleDocTemplate* pDocTemplate;
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMy0407Doc),
RUNTIME_CLASS(CMainFrame), // メイン SDI フレーム ウィンドウ
RUNTIME_CLASS(CMy0407View));
AddDocTemplate(pDocTemplate);

↑この部分。

CHogeViewヘッダでは、インクルードすることなくCHogeDocを使っているように
見えますが、コンパイルの対象はCHogeViewのソースファイルであり、この冒頭で
HogeView.hより前にStdAfx.hをインクルードしています。
このファイルは中を見ても何のことか私には良くわからないのですが、
MFCがうまくやってくれているのだと思います。


返信引用
はてなくん
 はてなくん
(@はてなくん)
ゲスト
結合: 22年前
投稿: 15
Topic starter  

たいちう殿

ありがとうございました。Viewのcppを見れば一発解決でした。


返信引用
たいちう
 たいちう
(@たいちう)
ゲスト
結合: 23年前
投稿: 662
 

私もボケてましたね。
直前のHogeDoc.hに気づかず、StdAfx.hのためだと勘違いしました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました