Delphi 如何使用ActiveX参数将项目添加到列表框中?
我是ActiveX新手。我正在尝试使用HTML参数将一些项目添加到列表框中:Delphi 如何使用ActiveX参数将项目添加到列表框中?,delphi,activex,Delphi,Activex,我是ActiveX新手。我正在尝试使用HTML参数将一些项目添加到列表框中: <object classid="clsid:B8F86405-G7YB-4BDF-AD70-55B265068G44" codebase="project.ocx" width="600" height="500"> <param name="item" value="item1"> <param name="item1 id " value="1"> </obje
<object classid="clsid:B8F86405-G7YB-4BDF-AD70-55B265068G44" codebase="project.ocx" width="600" height="500">
<param name="item" value="item1">
<param name="item1 id " value="1">
</object>
我还不知道如何在Delphi中读取这些HTML值。我想我必须使用一些getter/setter,但我不知道从哪里开始。HTML
元素使用和接口将参数值加载到ActiveX对象中。HTML主机(如web浏览器)创建指定的对象,如果成功,则查询该对象以查找IPersistPropertyBag
,如果成功,则调用传递该对象的IPropertyBag
对象,该对象可根据需要从中获取值
在Delphi中,您不需要求助于该级别。您可以直接设置属性:
uses
..., ComObj;
var
Obj: Variant;
begin
// if you have a ProgID name, use CreateOleObject() instead...
//Obj := CreateOleObject('progid');
Obj := CreateComObject(StringToGUID('{B8F86405-G7YB-4BDF-AD70-55B265068G44}'));
Obj.item := 'item1';
Obj.item1 := '1';
end;
当然,如果属性不是字符串,请使用适当的类型。例如,如果item1
是一个整数:
Obj.item1 := 1;
您是否准备好将html页面限制为IE?你真的需要在网页中使用ActiveX吗?为什么我只限于ie,我知道ActiveX在其他Netscape浏览器上不起作用,但总有一种方法,就像为我的ActiveX使用Netscape插件一样。大约15年前,也许更久以前,我们意识到ActiveX在浏览器中没有位置。我猜你没有看到备忘录使用基于现代标准的方法解决您的任何问题。我知道activex已经过时了:(,但你知道它是通过web浏览器运行我的应用程序的唯一方法,你建议用delphi在webbrowser中运行我的应用程序的其他方法吗?是的,activex可以在不同的浏览器上运行-firefox-safari-chrome,但你想实现什么?如果你已经做到了,我不知道如何从params向你添加值r activex