一、进入Delphi,新建一个ActiveX Form,New ActiveX Name为"AFXComNgUpdate"。
二、菜单"View"-->"Type Library",右击"IAFXComNgUpdate"-->"New"-->"Property"新建一属性,并将该属性重命名为"iaswsdl",Type属性改为"BSTR"(或WideString)。按同样办法,新建一个字符串型属性"TableName"。
三、查看AFXComNgUpdateImpl1.pas单元,可看到以下代码:
function TAFXComNgUpdate.Get_iaswsdl: WideString;
begin
end;
procedure TAFXComNgUpdate.Set_iaswsdl(const Value: WideString);
begin
end;
function TAFXComNgUpdate.Get_TableName: WideString;
begin
end;
procedure TAFXComNgUpdate.Set_TableName(const Value: WideString);
begin
end;
四、定义全局变量
var
MyCount:integer;
iaswsdl,TableName:string;
五、在AFXComNgUpdate的OnCreate事件初始化MyCount为0:
procedure TAFXComNgUpdate.ActiveFormCreate(Sender: TObject);
begin
MyCount:=0;
end;
六、添加一个全局过程:
procedure TAFXComNgUpdate.DoMyApplication;
begin
inc(MyCount);
Showmessage(Format('MyCount=%d,iaswsdl=%s,TableName:=%s',[MyCount,iaswsdl,TableName]));
if MyCount=2 then ;//已接收到2个参数,可转入你自己定义的功能
end;
七、修改过程如下:
procedure TAFXComNgUpdate.Set_iaswsdl(const Value: WideString);
begin //此Value的值来自网页参数,得及时把它传给全局变量
iaswsdl:=Value;//<param name="iaswsdl" value="http://10.79.1.168:7777/blob-tys-context-root/mypackage2.testblob">
DoMyApplication;
end;
procedure TAFXComNgUpdate.Set_TableName(const Value: WideString);
begin //此Value的值来自网页参数,得及时把它传给全局变量
TableName:=Value;//<param name="TableName" value="OSIS_FWCL_B_FJ">
DoMyApplication;
end;
八、编译、发布网页AFXComNgUpdateProj1.htm,并修改网页内容如下:
<HTML>
<H1> Delphi 6 ActiveX Test Page </H1><p>
You should see your Delphi 6 forms or controls embedded in the form below.
<HR><center><P>
<OBJECT
classid="clsid:67D18AB3-3B9B-40F8-993E-FB3B0DD0D276"
codebase="AFXComNgUpdateProj1.ocx#version=1,0,0,0"
width=252
height=142
align=center
hspace=0
vspace=0
>
<param name="iaswsdl" value="http://10.79.1.168:7777/blob-tys-context-root/mypackage2.testblob">
<param name="TableName" value="OSIS_FWCL_B_FJ">
</OBJECT>
</HTML>
九、执行网页AFXComNgUpdateProj1.htm,成功!