是否可以在Delphi中进行面向方面编程?我会对原生支持以及第三方解决方案感兴趣.
我没有想要用AOP解决的具体问题,但我只是对学习AOP感兴趣.
我正在尝试根据它引用的模式验证XML文件.(使用Delphi和MSXML2_TLB.)代码的(相关部分)看起来像这样:
procedure TfrmMain.ValidateXMLFile;
var
xml: IXMLDOMDocument2;
err: IXMLDOMParseError;
schemas: IXMLDOMSchemaCollection;
begin
xml := ComsDOMDocument.Create;
if xml.load('Data/file.xml') then
begin
schemas := xml.namespaces;
if schemas.length > 0 then
begin
xml.schemas := schemas;
err := xml.validate;
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
这导致缓存被加载(schemas.length > 0),但是下一个赋值引发了一个异常:"只能使用XMLSchemaCache-schemacollections."
我该怎么办呢?