我的问题为什么没有人回答,30分啊.
请教哪位大侠一个问题.
我用书上的例子输入一个关于COM的程序,服务器运行正常,生成了一个DLL,并在BCB5环境下注册,但是,
客户程序出了问题,按书上所说,开始一个新工程,然后,引入类型库project|import type library,在import type libary
对话框内,选中要用的类型库project1 library,将下部的generate component wrapper前的选择框勾去掉,按
create unit按钮,引入类型库.
客户程序如下:
//---------------------------------------------------------------------------
#include <vcl.h>
//#include <utilcls.h>
#pragma hdrstop
#include "Unit1.h"
//#include "sysutils.hpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
COMObj=CoCOMObject::Create();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonGetClick(TObject *Sender)
{
Edit1->Text=AnsiString(COMObj->get_Value());
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonSetClick(TObject *Sender)
{
COMObj->set_Value(i);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonIncClick(TObject *Sender)
{
COMObj->Inc();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonShowClick(TObject *Sender)
{
COMObj->ShowMessage();
}
//----------------------------------------------------
头文件如下:
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <COMObj_TLB.h>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TEdit *Edit1;
TButton *ButtonGet;
TButton *ButtonSet;
TButton *ButtonInc;
TButton *ButtonShow;
void __fastcall ButtonGetClick(TObject *Sender);
void __fastcall ButtonSetClick(TObject *Sender);
void __fastcall ButtonIncClick(TObject *Sender);
void __fastcall ButtonShowClick(TObject *Sender);
private: // User declarations
TCOMICOMObject COMObj;
//ICOMObject* ICOMObj;
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
但是运行时却总是出现如下提示:
'create(intfobj):类没有注册@c:\program files\borland\cbuilder5\include\vcl\utilcls.h/3136
press [y]es to terminate [n]o to continue and [c]ancel to debug
这是怎么回事?
哪位高手大侠告诉我.
可否给我回信. chinaha@371.net