中身はこうです
//image.cpp
#include stdafx.h
#include image.h
CImage::CImage()
{
header= new char[HEADER_SIZE];
pImage = new unsigned short[IMAGEDATA_SIZE];
}
CImage::~CImage()
{
delete [] header;
delete [] pImage;
}
ヘッダファイルをこうしましょう。
でも、何でこういうのが必要なのか十分に調べて考えましょう。
// image.h image class
#if !defined(_IMAGE_H_)
#define _IMAGE_H_
#define HEADER_SIZE 7904
#define IMAGEDATA_SIZE 65536
ヘッダファイルはこうなっています・・
class CImage
{
public:
char *header;
unsigned short *pImage;
public:
CImage();
~CImage();
};
#endif
そこまで行ったのですが、エラーが12個でました。
まずは
// アトリビュート
public:
CImage *m_pImage;
に構文エラー;が*の前に必要と言われました
そのためm_pImageが関連するものにエラーが発生しました
・・・もしかして、**Doc.cppで
#include image.h
って、してませんか?
もしそうだったら**Doc.hで
#include image.h
をしましょう。
意味わかってますよね?
**Doc.h の頭で
class CImage;
それはしてあります。意味もわかってます
なぜ、昨日9時20分ごろ書き込んだやり方だと読めるのにSerialize(CArchive& ar)だと読
めないのでしょうか・・
PAIさんのやり方でできましたが、やはり読めません・
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200301/03010091.txt
このスレッドの伸び方で、やっと気付いた俺は鈍感…
Serialize(CArchive& ar)以外で左上のファイルからファイルを指定して開くやり方は
ありますか?それで一回ためしてみたいです
『ファイルが』読める、読めない、の問題ではない。
>ゆば 2003/01/29(水) 21:26:05
では、ファイルの内容を読み込むコードはまったく書かれていない。
おそらくファイルの読み込みは DisplayImage() 内で行われている。
それと
>それはしてあります。意味もわかってます
99%ぐらい確実にわかってない。そしておそらくやってない。
>なぜ、昨日9時20分ごろ書き込んだやり方だと読めるのにSerialize(CArchive& ar)だと読
>めないのでしょうか・・
デバック依頼なら人を雇えば?
方針として、ファイルパスがわかればDisplayImage()で読み込めるのであれば
メニューのファイルから読み込みを行うにはシリアライズを使うのではなく、
CDocument::OnOpenDocument あたりをオーバーライドしたほうが早い。
PAIさん、ちゃんと書かれてますよ。DisplayImage() の内容書いてありますよ
#include image.hはちゃんとやってあります
Ctrl+W を押してクラスウィザードを出し、
『クラス名』コンボを『C**Doc』にあわせ、
『メッセージ』リストを『OnOpenDocument』にあわせ、
『関数の追加』→『コード編集』
BOOL C***Doc::OnOpenDocument(LPCTSTR lpszPathName)
{
UpDateAllViews(NULL);
}
『クラス名』コンボを『C**View』にあわせ、
『メッセージ』リストを『OnUpdate』にあわせ、
『関数の追加』→『コード編集』
BOOL CView::OnOpenDocument(LPCTSTR lpszPathName)
{
CDoc pDoc = GetDocument();
DisplayImage(pDoc->GetPathName());
}
確認はしてないので、あとは自分で考えて、
失礼、
>BOOL CView::OnOpenDocument(LPCTSTR lpszPathName)
これ嘘
こう。
BOOL CView::OnUpdate( CView* pSender, LPARAM lHint, CObject* pHint)