首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 派生类的构造函数怎么才能被调用到呀? [已结贴,结贴人:yanglin1228]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-02 17:37:45 楼主
    我派生了一个对话框的构造函数, 想在里面出始化变量,但发现这函数却没有被系统调用, 是怎么回事?谢谢
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • vcPlayer
    • 等级:
    发表于:2008-07-02 17:46:471楼 得分:3
    你是什么对象?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-02 18:42:172楼 得分:3
    那你在调用时,调用了对话框么
    可否用指针指向
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-02 18:46:493楼 得分:3
    构造函数需要你自己实例化相应的类才会调用啊。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-02 19:27:154楼 得分:3
    派生类不能继承基类的构造函数,所以在执行派生类的构造时还要执行基类的构造函数!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-02 20:07:175楼 得分:2
    代码写出来。关键代码,我看看。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 08:36:326楼 得分:0
    基类 (系统自动调用)
    CLCDDlg::CLCDDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CLCDDlg::IDD, pParent)
    {

    /* initialize the serial port*/
    nPort=1;
    memset(m_strReceived,0,N);
    memset(disp_buf, 0,MAX_REV_LEN );


    }


    派生类 (系统不调用, 所以我在里面设置的timer没用)
    CMechanism::CMechanism(CWnd* pParent /*=NULL*/)
    : CDialog(CMechanism::IDD, pParent)
    {
    //{{AFX_DATA_INIT(CMechanism)
    // NOTE: the ClassWizard will add member initialization here
    //}}AFX_DATA_INIT
    SetTimer(TIMER_ID_POLLING_IIC_DATA, 10,NULL);
    pI2cTrace= new CI2cTrace();
    }


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cnzdgs
    • 等级:
    发表于:2008-07-05 20:37:497楼 得分:2
    对话框构造的时候窗口还没有创建,不能调用SetTimer。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-05 21:17:008楼 得分:2
    这怎么能说它没调用,明显是SetTimer此时还不能用,必须等窗口创建完成,至少在WM_INITDIALOG消息之后才能调用和窗口相关的函数

    楼主会不会调试啊?加个断点就不会由这种错误了
    引用 6 楼 yanglin1228 的回复:
    基类 (系统自动调用)
    CLCDDlg::CLCDDlg(CWnd* pParent /*=NULL*/)
    : CDialog(CLCDDlg::IDD, pParent)
    {

    /* initialize the serial port*/
    nPort=1;
    memset(m_strReceived,0,N);
    memset(disp_buf, 0,MAX_REV_LEN );


    }


    派生类 (系统不调用, 所以我在里面设置的timer没用)
    CMechanism::CMechanism(CWnd* pParent /*=NULL*/)
    : CDialog(CMechanism::IDD, pParent)
    {
    //{{AFX_DATA_INIT(CMechani…
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • clever101
    • 等级:
    发表于:2008-07-05 23:24:389楼 得分:2
      VC计时器的一个使用心得

    http://blog.csdn.net/clever101/archive/2008/02/24/2116112.aspx
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved