gpt4 book ai didi

string - Delphi AddObject - 不添加对象

转载 作者:行者123 更新时间:2023-12-03 18:18:37 27 4
gpt4 key购买 nike

我被这个奇怪的问题难住了。我将 Memo.Lines 作为 TString 传递给一个过程,并用 AddObject 填充它。但是对象没有被添加(通过 L := TURLLinkObject(AStrings.Objects [AStrings.Count -1]) 立即检查。(编辑:AddObject 返回 0,这是添加项目的索引根据德尔福的 Help )

这是我的程序:

type
TURLLinkObject = class(TObject)
url,
attr,
name : string;
end;

procedure getLinks(XMLNode: TNode; AStrings: TStrings; Match:string='');

var L : TURLLinkObject;
i : integer;
S : string;

begin;
if XMLNode = nil then exit;

if (XmlNode.NodeName = 'a') and (XmlNode As TElement).hasAttribute('href') then
begin;
L := TURLLinkObject.Create;
L.url := (XmlNode AS TElement).getAttribute('href');
L.attr := GetAttributesText(XmlNode);
L.Name := 'Some Name';

if (Match = '') or (pos(Match, L.url) <> 0) then
begin;
s := format('%s :: %s', [L.Name, L.url]);
i := AStrings.AddObject(s, L);
L := TURLLinkObject(AStrings.Objects[AStrings.Count -1]);
end
else
L.Free;
end;

if XMLNode.hasChildNodes then
begin
for i:= 0 to XMLNode.childNodes.length-1 do
getLinks(XMLNode.ChildNodes.item(i), AStrings, PartialMatchName);
end;
end;

最佳答案

TMemo.Lines类型源自 TStrings并且不支持 Objects属性(property); Objects支持在 TStringList 中实现类型,所以你不能使用 ObjectsTMemo.Lines .

关于string - Delphi AddObject - 不添加对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28037932/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com