在ActiveForm工程中,选择菜单 View->Type Library,在 IAFHello上点鼠标右键,点菜单New->property
增加一个新的属性,我们设置属性的name为name,Type为BSTR,输入完成后,点刷新
Delphi会在unit AFHelloImpl1;中为我们增加两个方法
function Get_name: WideString; safecall;
procedure Set_name(const Value: WideString); safecall;
我们在private域中增加一个变量
Fname:WideString;
然后在Get_name和Set_name方法中写代码
function TAFHello.Get_name: WideString;
begin
Result := Fname;
end;
procedure TAFHello.Set_name(const Value: WideString);
begin
Fname := Value;
end;
修改btnHello的代码为:
procedure TAFHello.btnHelloClick(Sender: TObject);
begin
ShowMessage(Fname);
end;
对工程进行编译,然后在html文件中对ActvieForm的属性进行赋值
<HTML>
<H1> Delphi 7 ActiveX Test Page </H1><p>
You should see your Delphi 7 forms or controls embedded in the form below.
<HR><center><P>
<OBJECT
classid="clsid:326812BB-4215-4C44-8E4F-96377AB92FFE"
codebase="./AFHelloProj1.ocx#version=1,0,0,2"
width=350
height=250
align=center
hspace=0
vspace=0
>
<PARAM NAME="name" VALUE="朱颂东">
</OBJECT>
</HTML>
保存html文件后,在浏览器中打开html文件,看看效果怎么样