助言求む – 固定ページ 4 – プログラミング – Home

通知
すべてクリア

[解決済] 助言求む

固定ページ 4 / 5

ゆば
 ゆば
(@ゆば)
ゲスト
結合: 22年前
投稿: 32
Topic starter  

中身はこうです
//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;
}


返信引用
***
 ***
(@***)
ゲスト
結合: 22年前
投稿: 18
 

ヘッダファイルをこうしましょう。
でも、何でこういうのが必要なのか十分に調べて考えましょう。

// 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


返信引用
ゆば
 ゆば
(@ゆば)
ゲスト
結合: 22年前
投稿: 32
Topic starter  

そこまで行ったのですが、エラーが12個でました。
まずは
// アトリビュート
public:
CImage *m_pImage;
に構文エラー;が*の前に必要と言われました


返信引用
ゆば
 ゆば
(@ゆば)
ゲスト
結合: 22年前
投稿: 32
Topic starter  

そのためm_pImageが関連するものにエラーが発生しました


返信引用
***
 ***
(@***)
ゲスト
結合: 22年前
投稿: 18
 

・・・もしかして、**Doc.cppで
#include image.h
って、してませんか?

もしそうだったら**Doc.hで
#include image.h
をしましょう。
意味わかってますよね?


返信引用
PAI
 PAI
(@PAI)
ゲスト
結合: 23年前
投稿: 359
 

**Doc.h の頭で

class CImage;


返信引用
ゆば
 ゆば
(@ゆば)
ゲスト
結合: 22年前
投稿: 32
Topic starter  

それはしてあります。意味もわかってます


返信引用
ゆば
 ゆば
(@ゆば)
ゲスト
結合: 22年前
投稿: 32
Topic starter  

なぜ、昨日9時20分ごろ書き込んだやり方だと読めるのにSerialize(CArchive& ar)だと読
めないのでしょうか・・


返信引用
ゆば
 ゆば
(@ゆば)
ゲスト
結合: 22年前
投稿: 32
Topic starter  

PAIさんのやり方でできましたが、やはり読めません・


返信引用
un
 un
(@un)
ゲスト
結合: 22年前
投稿: 2
 

http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200301/03010091.txt

このスレッドの伸び方で、やっと気付いた俺は鈍感…


返信引用
ゆば
 ゆば
(@ゆば)
ゲスト
結合: 22年前
投稿: 32
Topic starter  

Serialize(CArchive& ar)以外で左上のファイルからファイルを指定して開くやり方は
ありますか?それで一回ためしてみたいです


返信引用
PAI
 PAI
(@PAI)
ゲスト
結合: 23年前
投稿: 359
 

『ファイルが』読める、読めない、の問題ではない。

>ゆば 2003/01/29(水) 21:26:05
では、ファイルの内容を読み込むコードはまったく書かれていない。
おそらくファイルの読み込みは DisplayImage() 内で行われている。

それと
>それはしてあります。意味もわかってます

99%ぐらい確実にわかってない。そしておそらくやってない。

>なぜ、昨日9時20分ごろ書き込んだやり方だと読めるのにSerialize(CArchive& ar)だと読
>めないのでしょうか・・

デバック依頼なら人を雇えば?

方針として、ファイルパスがわかればDisplayImage()で読み込めるのであれば
メニューのファイルから読み込みを行うにはシリアライズを使うのではなく、
CDocument::OnOpenDocument あたりをオーバーライドしたほうが早い。


返信引用
ゆば
 ゆば
(@ゆば)
ゲスト
結合: 22年前
投稿: 32
Topic starter  

PAIさん、ちゃんと書かれてますよ。DisplayImage() の内容書いてありますよ
#include image.hはちゃんとやってあります


返信引用
PAI
 PAI
(@PAI)
ゲスト
結合: 23年前
投稿: 359
 

Ctrl+W を押してクラスウィザードを出し、
『クラス名』コンボを『C**Doc』にあわせ、
『メッセージ』リストを『OnOpenDocument』にあわせ、
『関数の追加』→『コード編集』

BOOL C***Doc::OnOpenDocument(LPCTSTR lpszPathName)
{
UpDateAllViews(NULL);
}

『クラス名』コンボを『C**View』にあわせ、
『メッセージ』リストを『OnUpdate』にあわせ、
『関数の追加』→『コード編集』
BOOL CView::OnOpenDocument(LPCTSTR lpszPathName)
{
C
Doc pDoc = GetDocument();
DisplayImage(pDoc->GetPathName());
}

確認はしてないので、あとは自分で考えて、


返信引用
PAI
 PAI
(@PAI)
ゲスト
結合: 23年前
投稿: 359
 

失礼、

>BOOL CView::OnOpenDocument(LPCTSTR lpszPathName)

これ嘘

こう。
BOOL CView::OnUpdate( CView* pSender, LPARAM lHint, CObject* pHint)


返信引用
固定ページ 4 / 5

返信する

投稿者名

投稿者メールアドレス

タイトル *

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