Hallo.
Ich nutze folgenden Code:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,msxml2_tlb;
type TMainForm = class(TForm) procedure FormCreate(Sender: TObject); private public fAppPath: string; end;
var MainForm: TMainForm; xmlDoc: IXMLDOMDocument2;
const DATABASE_FNAME ='movies.xml';
implementation
{$R *.DFM}
procedure TMainForm.FormCreate(Sender: TObject); begin fAppPath := ExtractFilePath(Application.Exename); XmlDoc := CoDomDocument40.Create; XmlDoc.SetProperty('NewParser', true); if not FileExists(fAppPath + DATABASE_FNAME) then begin XmlDoc.loadXml('<?xml version="1.0"?><movieorganiezer></movieorganiezer>'); end else XmlDoc.load(fAppPath + DATABASE_FNAME); if XmlDoc.parseError.errorCode <> 0 then begin MessageDlg('Die XML Datei ist nicht korrekt!' + #13#10 +'Das Programm wird nun beenden!', mtError, [MbOk], 0); Application.Terminate; end; if XmlDoc.documentElement.nodeName <> 'movieorganiezer' then Application.Terminate; end;
end. |
Es werden keinerlei Fehler ausgegeben. Nur wenn ich den Ordner aufrufe, in der die xml-Datei sein müsste, so ist dort keine zufinden.
Woran liegt das?
MaM