怎样在远程模板的接口中加入function?(5分)

  • 主题发起人 主题发起人 jesse.zhou
  • 开始时间 开始时间
J

jesse.zhou

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在远程模板的接口中加入function?
 
用Type library,在参数项中加入Value参数,返回类型为函数的返回类型,参数类型为
out和以R开头的一个参数,如:function aa(str:string):widestring;
参数为两个,第一个正常的参数,第二个为Value参数,返回类型为BSTR*,参数类型为
out和R*****。
 
type
Ty1234 = class(TRemoteDataModule, Iy1234)
private
{ Private declarations }
protected
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
procedure Method1(wer: OleVariant); safecall;
{ function user_login(var param: OleVariant):boolean;safecall;
你是在這里自己加入function嗎}
public
{ Public declarations }
end;
用function返回值与用procedure中out 返回值有什麼區別?
 
你的function是想在模块内用还是作为接口供客户端调用,供客户端调用就按我说的作,只
是程序内部用你看看书吧,书上倒处都有,procedure没有返回值,function才有返回值,
注意要用Type Library添加外用接口,如果不加value参数你将得到过程而不是函数,至于
位置问题你不用管,直接添加好了
 
我的function是作为接口供客户端调用,
我在中間層定義了function checkuser1(var param: OleVariant,out data:Olevariant):boolean;safecall;
我在客戶端調用 if not socketconnection1.AppServer.checkuser1(param,data) then
begin
.....
end;
我執行客戶端程序時提示錯誤:medthod "chechuser1" not supported by automation object"

 
你是用Type Library添加的函数吗,手工添加不行的
 
用"Type Library"添加的是過程,而不是函数?
請問怎樣用Type Library添加函数?
 
照我前面说的作一下试试吧
 
照natolee说的做在type library 中为接口加入新的method并加入相应参数程序会自动加入函数的声明部分,不用手动做任何事,你应该试试.
 
后退
顶部