怪我没说清楚![
]
我现在要实现的webservice功能是:
1、我编写了一个DLL名称为A,部署在服务器A上;
2、同时,还编写了一个DLL名称为B,部署在服务器B上;
3、我的客户程序通过A的服务调用B的服务;
4、我是想在客户程序调用A的服务时,在生成A服务接口的事件中生成一个接口B类型的全局变量,目的就是这一点,我需要在A的什么事件中生成这个全局变量(我在A的实现类里定义了事件Constructor Create来生成,好象接口A生成时根本就不去调用create方法)
5、其实根本的一点是在生成接口的时候我想进行一些处理
{ Invokable implementation File for Tminfowebservice which implements Iminfowebservice }
unit minfowebserviceImpl;
interface
uses
InvokeRegistry, Types, XSBuiltIns, minfowebserviceIntf,IniFiles,DB,ADODB,
SysUtils, Ihostminfowebservice1;
type
{ Tminfowebservice }
Tminfowebservice = class(TInvokableClass, Iminfowebservice)
private
FInterface: Ihostminfowebservice;
constructor Create;
destructor Destroy;
public
//查询会员信息
function QueryMember(aID: Integer): String;overload;stdcall;
function QueryMember(sql: String): String;overload;stdcall;
//添加新会员,参数为插入会员记录的SQL语句
function AddMember(sql: String): Boolean;stdcall;
//编辑会员信息,参数为编辑SQL语句
function EditMember(sql: String): Boolean;stdcall;
//删除会员
function DelMember(aID: Integer): Boolean;stdcall;
function GetMsg: String;stdcall;
end;
implementation
{ Tminfowebservice }
constructor Tminfowebservice.Create;
begin
//Finterface := GetIhostminfowebservice; 好象不起作用
end;
destructor Tminfowebservice.Destroy;
begin
FInterface := nil;
end;
function Tminfowebservice.AddMember(sql: String): Boolean;
begin
//
end;
function Tminfowebservice.DelMember(aID: Integer): Boolean;
begin
//
end;
function Tminfowebservice.EditMember(sql: String): Boolean;
begin
//
end;
function Tminfowebservice.GetMsg: String;
begin
if Assigned(Finterface) then
begin
Finterface := GetIhostminfowebservice;
Result := (Finterface as Ihostminfowebservice).GetMsg;
end
else
Result := '没找到接口';
end;
function Tminfowebservice.QueryMember(aID: Integer): String;
begin
//
end;
function Tminfowebservice.QueryMember(sql: String): String;
begin
//
end;
initialization
{ Invokable classes must be registered }
InvRegistry.RegisterInvokableClass(Tminfowebservice);
end.