DHTML Edit中如何获取选中部分对应的HTML代码或属性(200分)

  • 主题发起人 主题发起人 monsterkiller
  • 开始时间 开始时间
M

monsterkiller

Unregistered / Unconfirmed
GUEST, unregistred user!
DHTML Edit 中当选中部分的类型为Control时,如何获取其对应的代码或各种属性
根据SDK 中讲应该是这样的

procedure TFormMain.ShowProperty;
var
range : IHTMLControlRange;
begin
if DHTMLEditEdit.DOM.selection.type_ <> 'Control' then
Exit;

IDispatch(range) := DHTMLEditEdit.DOM.selection.createRange;
showMessage(range.commonParentElement.outerHTML);
range._Release;
end;

可是总报错:无效索引。
请各位大虾指点迷津!
 
这段代码没问题,可以通过,并且可以得到预期的结果。
需要注意的是引用DOM对象时,必须保证Document complete,
你可以在DHTMLEdit的ONDocumentComplete设置标志,
结束后才允许引用DOM对象的代码执行。

如果不是这个问题,检查一下你的运行环境吧。
 
应该不是DOM的事,在执行这段代码前,可以保证Document Complete
给我的印象好像是在取range.commonParentElement.outerHTML时出错,
报错为:Project Edit.exe raised exception class EOleException
with message '无效索引。'.
出错后,无法关掉已运行的程序,用delphi的ctrl+F2时
提示:仅完成部分的ReadProcessMemoty或WriteProcessMemory请求。
温柔一刀,你指的运行环境包括那些呢?
先谢过!
 
Delphi 版本,DHTMLEdit版本,Windows版本,等等。
 
问题还是没解决,唉,是不是Delphi5的问题
 
我用的是d5+upd11,没问题。
我看关键还是DHTMLEdit版本、Windows版本,各是什么?
我用的NT4.0+sp6,和从M$下载的dhtml sdk。
 
你用的IE5吗?
 
后退
顶部