CB5调用EXCEl2000编译始终报错__请高手指点
我首先单独编写了一个用CB5.0调用Excel2000的程序编译运行一切正常。
但是我在几年前的一个应用程序中按照此方法编写调用EXCEL的程式编译时就始终报错,尝试了很多办法始终无法解决~~~
程序的部分代码如下:
MForm.cpp文件
#include <vcl.h>
#pragma hdrstop
#include "MForm.h"
#include "measure.h"
#include "zoomform.h"
#include "confpass.h"
#include "modratio.h"
#include "View.h"
#include <Printers.hpp>
#include "stanum.h"
#include "formpcicard.h"
//---------------------------------------
#pragma package(smart_init)
#pragma link "PCI32DIOLib_OCX"
#pragma link "Excel_2K_SRVR"
#pragma resource "*.dfm"
MForm.h文件
#ifndef MFormH
#define MFormH
//---------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
#include <ExtCtrls.hpp>
#include <ComCtrls.hpp>
#include <Dialogs.hpp>
#include <vcl\Printers.hpp>
#include <Grids.hpp>
#include "sumdlg.h"
#include "quitdlg.h"
#include "passwd.h"
#include "stab.h"
#include "calib.h"
#include "adsensor.h"
#include "motortest.h"
#include "calipara.h"
#include "stabpara.h"
#include "Select.h"
#include "MTCDlg.h"
#include "motor.h"
#include "sensor.h"
#include "track.h"
#include <ToolWin.hpp>
#include <Buttons.hpp>
#include <OleServer.hpp>
#include "Excel_2K_SRVR.h"
#include <OleCtrls.hpp>
编译出现如下错误:
[C++Error]utilcls.h(3275):E2451 Undefined symbol"Count"
[C++Error]Office_2K.h(7543):E2450 Undefined structure"TAutoArgs<2>"
[C++Error]Office_2K.h(7543):E2449 Size of "_args"is unknown or zero
[C++Error]VBIDE_2K.h(895):E2450 Undefined structure"TAutoArgs<2>"
[C++Error]VBIDE_2K.h(895):E2449 Size of "_args"is unknown or zero
[C++Error]VBIDE_2K.h(948):E2450 Undefined structure"TAutoArgs<2>"
[C++Error]VBIDE_2K.h(948):E2449 Size of "_args"is unknown or zero
[C++Error]utilcls.h(3275):E2451 Undefined symbol"Count"
[C++Error]VBIDE_2K.h(1036):E2450 Undefined structure"TAutoArgs<3>"
[C++Error]VBIDE_2K.h(1036):E2449 Size of "_args"is unknown or zero
[C++Error]utilcls.h(3275):E2451 Undefined symbol"Count"
[C++Error]Excel_2K.h(21455):E2450 Undefined structure"TAutoArgs<0>"
[C++Error]Excel_2K.h(21455):E2449 Size of "_args"is unknown or zero
[C++Error]Excel_2K.h(21463):E2450 Undefined structure"TAutoArgs<0>"
[C++Error]Excel_2K.h(21463):E2449 Size of "_args"is unknown or zero
[C++Error]Excel_2K.h(21471):E2450 Undefined structure"TAutoArgs<0>"
[C++Error]Excel_2K.h(21471):E2449 Size of "_args"is unknown or zero
[C++Error]Excel_2K.h(21479):E2450 Undefined structure"TAutoArgs<0>"
[C++Error]Excel_2K.h(21479):E2449 Size of "_args"is unknown or zero
[C++Error]Excel_2K.h(21495):E2450 Undefined structure"TAutoArgs<0>"
[C++Error]Excel_2K.h(21495):E2449 Size of "_args"is unknown or zero
[C++Error]Excel_2K.h(21511):E2450 Undefined structure"TAutoArgs<0>"
[C++Error]Excel_2K.h(21511):E2449 Size of "_args"is unknown or zero
[C++Error]Excel_2K.h(21527):E2450 Undefined structure"TAutoArgs<0>"
[C++Error]Excel_2K.h(21527):E2449 Size of "_args"is unknown or zero 我参照网上许多前辈share的经验,修改了头文件包含的顺序,并添加了
#include <Comobj.hpp>
#include <utilcls.h>
两个头文件,但是编译结果及弹出错误依旧.请问哪位高手知道,帮忙指点迷津。
[解决办法]
那你就无需包含这个头文件:
#include "Excel_2K_SRVR.h"
[解决办法]
单步跑一下,看看在哪一行出错。如果怀疑是CreateObject出错,执行过这一行代码以后,看看进程中是否有Excel出现?
[解决办法]
有一些异常用try和catch是捕获不了的。
[解决办法]
没听说C++Builder5.0有什么补丁啊。C++Builder6.0倒是有个Update4的补丁。