HTML中的参数传入ActiveXForm的奇怪问题(200分)

  • 主题发起人 主题发起人 q2
  • 开始时间 开始时间
Q

q2

Unregistered / Unconfirmed
GUEST, unregistred user!
HTML中的参数传入ActiveXForm的奇怪问题,代码如下
<HTML>
<OBJECT classid="clsid:024032C6-E5FC-11D7-88D3-0050BA40F862"
codebase="FlashPlayerProj.ocx#version=1,0,4,0"
width=552
height=435
align=center
hspace=0
vspace=0>
<param name=file1 value="test.exe">
</OBJECT>
</HTML>

ActiveXForm中的代码
.......
private
file1:string;
......
procedure TFlashPlayer.Timer1Timer(Sender: TObject);
begin
if file1<>'' then begin
CmbBox_File.Items.Append(file1);
Timer1.Enabled:=false;
end;
end;
一直就是读不出file1的值,请教了。
 
帮你顶!
 
我很少涉及到HTML,不过我也想知道。
 
呵呵,你光是在ActiveForm中定义了一个私有变量怎么行呢?你就是在ActiveForm中添加一个属性也是不行的,你必须在TLB中添加一个相应的属性,方法大致如下:
打开 _TLB.pas文件后按F12 或直接打开 .tlb 文件,在 IActiveFormX 中New一个Property,类型Type选BSTR,在ActiveFormImpl.pas中将会自动生成对应的属性代码,大致如下:
function TActiveFormX.Get_file1: WideString;
begin
Result := WideString(file1);
end;

procedure TActiveFormX.Set_file1(const Value: WideString);
begin
file1 := Value;
end;
这样你才能在HTML中访问ActiveXForm的属性,其他添加方法、事件等类似。。。
 
to pihome
非常感谢!没有名师指点就是不行啊。以后还要请教。
to chen_gxing ,ormus
帮我顶了,也给点分。
 
后退
顶部