Einzelnen Beitrag anzeigen

CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Nodes werden nicht selektiert

  Alt 18. Sep 2003, 18:31
Hi,
meine XML-Datei sieht folgendermaßen aus:
Code:
<?xml version="1.0"?>
<language>
   <translator>
      <name>Christopher Harms</name>
      <website>http://www.csd-software.net</website>
      <date>2003-09-18</date>
   </translator>

   <form name="MainForm" />
   <form name="EditingForm" />
   <form name="AddingForm" />

   <control name="mmFile" form="MainForm">
      <caption>Datei</caption>
   </control>

   <control name="mmGrouping" form="MainForm">
      <caption>In Gruppen einteilen (XP only)</caption>
   </control>
</language>
Das Problem ist nun, das bei folgendem Source die Nodes nicht ausgewählt werden, sondern bei der gekennzeichneten Zeile eine Access Violation kommt:
Delphi-Quellcode:
procedure TMainForm.UpdateLanguage;
var
  aLngDoc: IXMLDOMDocument2;
  aForms: IXMLDOMNodeList;
  slForms: TStringList;
  sXSL: string;
  i: integer;
begin
  if not fileExists(fLangPath + fLanguage + '.lng') then begin
    ShowMessage('Die Sprachdatei konnte nicht gefunden.' + #13#10
                + 'Es wird die Sprachvorgabe verwendet.');
  end;

  aLngDoc := CoDOMDocument40.Create;
  slForms := TStringList.Create;
  try
    aLngDoc.load(fLangPath + fLanguage + '.lng');
    sXSL := 'form'; {<-- gekennzeichnete Zeile ;-)}
    aForms := aLngDoc.documentElement.selectNodes(sXSL);
    for i:=0 to aForms.length - 1 do begin
      slForms.Add(aForms.item[i].attributes.getNamedItem('name').text);
      ShowMessage(aForms.item[i].attributes.getNamedItem('name').text);
    end;
  finally
    slForms.Free;
  end;
end;
Was habe ich falshc gemacht?

Chris
  Mit Zitat antworten Zitat