在delphi中调用正常,全部代码如下:library Project1;uses
ComServ,
Project1_TLB in 'Project1_TLB.pas',
Unit1 in 'Unit1.pas' {Sample: CoClass};exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer;{$R *.TLB}{$R *.RES}begin
end.
unit Unit1;{$WARN SYMBOL_PLATFORM OFF}interfaceuses
Windows, ActiveX, Classes, ComObj, Project1_TLB, StdVcl;type
TSample = class(TTypedComObject, ISample)
protected
function GetRoomInfo(const RoomNo, Account: WideString): WideString;
stdcall;
{Declare ISample methods here}
end;implementationuses ComServ, SysUtils;function TSample.GetRoomInfo(const RoomNo,
Account: WideString): WideString;
begin
Result :=RoomNo+' '+Account;//
end;initialization
TTypedComObjectFactory.Create(ComServer, TSample, Class_Sample,
ciMultiInstance, tmApartment);
end.===================================================================
unit Unit2009;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses ComObj,Project1_TLB;//這里的引用需要注意.{$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);varCOMSvr : ISample;beginCOMSvr := CreateComObject(CLASS_Sample) as ISample;//也可以使用Guid 实例化//COMSvr:=CreateComObject(StringToGuid('{330B6DA3-F7F6-49DD-B552-68769A916D66}')) as ISample;if COMSvr <> nil thenbegin try ShowMessage(COMSvr.GetRoomInfo(Edit1.Text,Edit2.Text)); finally COMSvr := nil; end;end;
end;end.
ComServ,
Project1_TLB in 'Project1_TLB.pas',
Unit1 in 'Unit1.pas' {Sample: CoClass};exports
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer;{$R *.TLB}{$R *.RES}begin
end.
unit Unit1;{$WARN SYMBOL_PLATFORM OFF}interfaceuses
Windows, ActiveX, Classes, ComObj, Project1_TLB, StdVcl;type
TSample = class(TTypedComObject, ISample)
protected
function GetRoomInfo(const RoomNo, Account: WideString): WideString;
stdcall;
{Declare ISample methods here}
end;implementationuses ComServ, SysUtils;function TSample.GetRoomInfo(const RoomNo,
Account: WideString): WideString;
begin
Result :=RoomNo+' '+Account;//
end;initialization
TTypedComObjectFactory.Create(ComServer, TSample, Class_Sample,
ciMultiInstance, tmApartment);
end.===================================================================
unit Unit2009;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses ComObj,Project1_TLB;//這里的引用需要注意.{$R *.dfm} procedure TForm1.Button1Click(Sender: TObject);varCOMSvr : ISample;beginCOMSvr := CreateComObject(CLASS_Sample) as ISample;//也可以使用Guid 实例化//COMSvr:=CreateComObject(StringToGuid('{330B6DA3-F7F6-49DD-B552-68769A916D66}')) as ISample;if COMSvr <> nil thenbegin try ShowMessage(COMSvr.GetRoomInfo(Edit1.Text,Edit2.Text)); finally COMSvr := nil; end;end;
end;end.
解决方案 »
- ADO 查 MYSQL 100万记录的表,查5条记录都慢得不行,怎么办呢
- 在delphi中如何避免子窗体重复打开
- Delphi 查询Sysbase 是正常的,但提交数据后就成了乱码.怎么修正. 立刻给分.
- 急!--在线等
- 结婚进行时--是快乐,是烦躁;是幸福,是焦虑。我,告别单身。
- 为什么我的execl导入效率很底,请帮忙,谢谢高手了?
- 在线等待,关于消息:form上放一图片,怎样点住图片移动form,谢谢!
- 大家来看一下,我的郁闷的问题!!!
- 对web的发布与测试???
- 函数能否返回对象,而不是指针
- 求:delphi6+sql server2005 jpg图片插入、读取
- 打开门户网站时的网速测试问题!
function GetRoomInfo(const RoomNo, Account: WideString; out Str: widestring): HResult; stdcall;