Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 如何使用ActiveX参数将项目添加到列表框中?_Delphi_Activex - Fatal编程技术网

Delphi 如何使用ActiveX参数将项目添加到列表框中?

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

我是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">
</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