![]() |
MSXML im Dienst
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
ich habe (wie schon in ![]()
Delphi-Quellcode:
Dieser Code wird beim Initialisieren des Dienstes ohne Fehler ausgeführt. Beim Beenden wird dann noch CoUninitialize aufgerufen. Ich habe sämtliche Bearbeitung (die problemlos funktioniert) testweise auskommentiert um Fehler dort auszuschließen.
CoInitializeEx(nil, COINIT_APARTMENTTHREADED);
XMLSchedule := CoDOMDocument40.Create; XMLSchedule.setProperty('NewParser', true); if not XMLSchedule.load(FILE_SCHEDULE) then XMLSchedule.loadXML('<?xml version="1.0" ?><timetable version="0.2" />'); if XMLSchedule.parseError.errorCode <> 0 then ExecError := $3E80 else if XMLSchedule.documentElement.nodeName <> 'timetable' then ExecError := $3E81 else begin ScheduleVersion := XMLSchedule.documentElement.attributes. getNamedItem('version').text; if ScheduleVersion > '0.2' then ExecError := $3E82; end; Woran könnte das liegen (evtl. etwas in Bezug auf COM)? |
Re: MSXML im Dienst
Hast du es mal ohne CoUninitialize versucht?
Vielleicht ist seitens MSXML nocht nicht alles aufgeräumt wurden. Ansonsten MSXML einfach nicht nutzen. :angel2: |
Re: MSXML im Dienst
Hab ich versucht... leider ohne Wirkung :(
MSXML nicht zu nutzen ist leider keine Option... |
Re: MSXML im Dienst
Zitat:
Es sollte stattdessen immer das Interface IXMLDocument als Typ verwendet werden. |
Re: MSXML im Dienst
Das ist leider nicht das Problem. Die Variable ist als IXMLDOMDocument2 deklariert.
|
Re: MSXML im Dienst
Hast du mal andere Parameter beim CoInitializeEx versucht?
|
Re: MSXML im Dienst
Ich habe mal COINIT_MULTITHREADED ausprobiert aber auch das hat nicht geholfen.
|
Re: MSXML im Dienst
jupp, also auch mal COINIT_MULTITHREADED oder einfach nur CoInitialize(nil) ?
|
Re: MSXML im Dienst
:pale: Auch das bringt nicht den gewünschten Erfolg... Aber beim testen ist mir aufgefallen, dass ich scheinbar nur zu hektisch bin: Ich habe den Dienst jeweils gestartet und dann direkt gestoppt. Wenn ich ein bisschen Zeit vergehen lasse beendet sich der Dienst korrekt. Außerdem musste ich noch das CoUninitialize herausnehmen, da sich der Dienst mit CoUninitialize beim Beenden immer verschluckt. :shock:
Was mach ich denn nun? |
Re: MSXML im Dienst
Hats du vor dem CoUninitialize das XML-Objekt freigegeben?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz