Excel工程的项目总结

1.遇到的问题

 

1.1 在这里首先遇到了变量的生命周期问题。我记得曾经有个错误是Excel不能连续导出两次,是因为我的一个对象的成员变量没有清空

      一个类的成员变量一定要在这个对象销毁的时候才会做清空。我却把清空数据的东西放到了析构函数中,从而早成了错误。

    CExcelText::~CExcelText()//析构函数
    {
        CloseXls();
    }
    其实解决这个问题,

    1. 要么使用 new,比如    CExcelText* p   =  new CExcelText;

    2. 要么定义成局部的对象,当函数结束的时候自动销毁

    3.要么不要自己动手清理,不要放入到析构函数中去。

    • 对于全域对象(如本例之GlobalObject),程序一开始,其构造式就先被执行
      (比程序进入点更早);程序即将结束前其析构式被执行。MFC 程序就有这
      样一个全域对象,通常以application object 称呼。
    • 对于区域对象,当对象诞生时,其构造式被执行;当程序流程将离开该对象的
      存活范围(以至于对象将毁灭),其析构式被执行。
    • 对于静态(static)对象,当对象诞生时其构造式被执行;当程序将结束时(此
      对象因而将遭致毁灭)其析构式才被执行,但比全域对象的析构式早一步执
      行。
    • 对于以new 方式产生出来的区域对象,当对象诞生时其构造式被执行。析构
      式则在对象被delete 时执行

 

1.2 在这里学会了如何处理异常和重新分配内存的操作。

    

分配内存的操作:

如果分配的不够的话,怎么从新分配:

我采用了,异常处理的方式

在catch中,重新分配,然后使用goto语句解决

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值