Ich versuche gerade nur bestimmte
XML-Dateien in einem ShellListview anzuzeigen:
Delphi-Quellcode:
procedure TfrmTemplate.ShellListView1AddFolder(Sender: TObject; AFolder: TShellFolder; var CanAdd: Boolean);
begin
CanAdd := (AFolder.IsFolder or MatchesMask(AFolder.DisplayName, '*.xml')) or TTemplateIO.IsFBITemplate(AFolder.DisplayName);
end;
Und
Delphi-Quellcode:
class function TTemplateIO.IsFBITemplate(const Filename: WideString): Boolean;
var
XMLDoc : DomDocument;
Node : IXMLDOMNode;
begin
Result := False;
CoInitialize(nil);
XMLDoc := CoFreeThreadedDOMDocument.Create;
if Assigned(XMLDoc) then
begin
XMLDoc.load(Filename);
Node := XMLDoc.selectSingleNode('/dwfbtemplate/');
Result := Assigned(Node);
end;
CoUninitialize;
end;
Es sollen also nur Ordner und
XML-Dateien angezeigt werden deren Rootnode "dwfbtemplate" ist. Aber leider zeigt er mir alle
XML-Dateien in dem Verzeichnis an. Wo ist da mein Denkfehler?