对话框未定义的错误,困扰

niky8053 2004-06-19 08:59:05
我编译时发生这样的错误,说IDD_ADD对话框未定义,我实在不明白,我有包含#include "AddDialog.h"
请高手指点,谢谢

g:\odbcexa1300\adddialog.h(21) : error C2065: 'IDD_ADD' : undeclared identifier
g:\odbcexa1300\adddialog.h(21) : error C2057: expected constant expression
...全文
203 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
kongyunzhongque 2004-06-25
  • 打赏
  • 举报
回复
问题在于ODBCExa1300.h中你多引用了一堆头文件,把这些都注释掉就ok了
在一个类中.cpp和.h中一般只在.cpp中引用其他类库的头文件,在.h中涉及到其他类变量的,可以在.h中类定义前面,预声明类
如下所示:
class CODBCExa1300Set;
class CODBCExa1300View : public CRecordView

下面是ODBCExa1300.h的更改结果

// ODBCExa1300.h : main header file for the ODBCEXA1300 application
//

//#include "stdafx.h" //i add
//#include "ODBCExa1300.h"

#if !defined(AFX_ODBCEXA1300_H__16A9F474_3058_42C9_9DCA_55D1EA762CED__INCLUDED_)
#define AFX_ODBCEXA1300_H__16A9F474_3058_42C9_9DCA_55D1EA762CED__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/*
#include "AddDialog.h"
#include "DelectDialog.h"
#include "FindDialog.h"
#include "EditDialog.h"
#include "SortDialog.h" //i add
*/
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif

#include "resource.h" // main symbols

niky8053 2004-06-25
  • 打赏
  • 举报
回复
谢谢!书中的例子是在.h中加头文件的,这样是错的,我以为在.cpp中再加头文件是比较好的,两个都加反而是错误的。

问一个问题,在Combo Box中,候选值为北京,湖南,广东,江苏,我原想:
北京==0,湖南==1,广东==2,江苏==3,但结果是:
北京==0,湖南==2,广东==1,江苏==3,是按照拼音首字母顺序排列的,
若是这样的,做起来很不方便的,有什么解决办法吗?
谢谢
xxhfortrue 2004-06-23
  • 打赏
  • 举报
回复
#include "resource.h"
不行的看看#define IDD_ADD xxxx在哪里定义的
niky8053 2004-06-22
  • 打赏
  • 举报
回复
头文件已经包括了
#include "stdafx.h"
#include "ODBCExa1300.h"

#include "AddDialog.h"

还是出错,说IDD_ADD未定义
niky8053 2004-06-20
  • 打赏
  • 举报
回复
我按照云雀说的那样做,但还是出错,
g:\odbcexa1300\odbcexa1300view.cpp(381) : fatal error C1010: unexpected end of file while looking for precompiled header directive

zoid 2004-06-20
  • 打赏
  • 举报
回复

odbcexa1300view.cpp文件的第一行为
#include "stdafx.h"//afxstd.h?
或改project setting

project.h
直接用
#include "resource.h"也可以.
kongyunzhongque 2004-06-20
  • 打赏
  • 举报
回复
刚看了你的另一个问题,才知道前面有误导,
"Afxstd.h" 应该为"stdafx.h"//导入MFC支持
"project.h"//其作用是为了导入资源头文件
kongyunzhongque 2004-06-20
  • 打赏
  • 举报
回复
按照工程更改的反顺序还原对照一下,什么时候开始出错的。

unexpected end of file一般是由于大括弧‘}'不对称的原因,没有';'编译器一般都能直接显示出来;

kofbashen2001 2004-06-19
  • 打赏
  • 举报
回复
你的IDD_ADD是用MFC生成的吧?
查看下你的IDD_ADD的属性.ID是否为IDD_ADD.如果是的话把它改为"IDD_ADD"(加多一个双引号).因为我怕你的应用程序的资源是自己写的..
youki1234 2004-06-19
  • 打赏
  • 举报
回复
不要把头文件放在#include "Afxstd.h"前面
kongyunzhongque 2004-06-19
  • 打赏
  • 举报
回复
你在引用对话框的地方的cpp文件最前面确保有
#include "Afxstd.h"
#include "project.h"//工程app的头文件

当然还要有对话框类的头文件
Kudeet 2004-06-19
  • 打赏
  • 举报
回复
那你就直接到资源编辑器里面给你的'IDD_ADD' 定义一下就是了!检察看里面是不是定义的不对!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧