在看到COM深入的第四章进程内自动化服务器中见到的问题?var
v:Valiant;
begin
v:= createoleobject('UnitSrv.UnitAuto');var
v:IUnitAutoDisp;
begin
v:= CoUnitAuto.create as IUnitAutoDisp;
----------------------------------------
以上两个调用出现'无效的被呼叫方'错误
以上为正确调用!!!!!!!WHY?????
----------------------------------------
Var
v:IUnitAuto;
begin
v:=CoUnitAuto.create;
v:Valiant;
begin
v:= createoleobject('UnitSrv.UnitAuto');var
v:IUnitAutoDisp;
begin
v:= CoUnitAuto.create as IUnitAutoDisp;
----------------------------------------
以上两个调用出现'无效的被呼叫方'错误
以上为正确调用!!!!!!!WHY?????
----------------------------------------
Var
v:IUnitAuto;
begin
v:=CoUnitAuto.create;
解决方案 »
- delphi与C搭配好还是学bcb好?
- 操作远程SQL数据库的效率问题!!
- intraweb 发布问题,错误提示:My Intraweb Application Error:Session not found. Session may have expired.
- 能够实现这样的报表吗?在线等待,来者有分
- 搜索了一个下午了,总结出来的一个问题!
- Borland公司的Delphi认证怎么样?
- DateTimePicker1加入到DBgrid中?
- 求助:怎样生成一些账号 新手 急!!!
- scanline找图,到不到图,困扰已久
- delphi 的隱藏問題....
- 哪位用过fastReport,教我一下
- 高手过来,看日期转换问题,有时出错,有时正确
哪位兄弟有一些分布式的实际给我看看[email protected]
还有三层数据库实际意义是什么?(用DELPHI控件来说明)
我现在急想速成哦.
Var
v:IUnitAuto;
begin
v:=CoUnitAuto.create;
这个方法可以,其它两种不行.
WHY????
var
v:Valiant;
begin
v:= createoleobject('UnitSrv.UnitAuto');
我就觉得没错了
IAutoUnitConvert = interface(IDispatch)
['{6946A9E7-F82E-45F6-97DE-C47A46684374}']
Function Convert(Val: Double; L1: SYSINT; L2: SYSINT):Double; safecall;
end;
一注册后就变成
IAutoUnitConvert = interface(IDispatch)
['{6946A9E7-F82E-45F6-97DE-C47A46684374}']
procedure Convert(Val: Double; L1: SYSINT; L2: SYSINT); safecall;
end;
类实现是
type
TAutoUnitConvert = class(TAutoObject, IAutoUnitConvert)
protected
Function Convert(Val: Double; L1, L2: SYSINT):Double; safecall;
//这句自动加上去的->procedure IAutoUnitConvert.Convert = IAutoUnitConvert_Convert;
end;类型库怎样让一个方法是函数而不是过程.