TXMLDocument tworzony dynamicznie

TXMLDocument tworzony dynamicznie
AS
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 13 lat
  • Postów:5
0

Witam, potrzebuję przetworzyć dokument XML w drugim wątku. W tym celu dynamicznie tworzę TXMLDocument.

Kopiuj
procedure TWatek.XML;
var
 responseXML:TXMLDocument ;

begin
 responseXML:=TXMLDocument.Create(nil); 
 responseXML.LoadFromFile(localfile); //localfile - string ze ścieżką do pliku.
// i tu dalsze instrukcje które się nie wykonają(...)

Procedura wywala się przy ładowaniu pliku. Miał ktoś może podobny problem? Niestety nie mam pomysłu czego tu brakuje, proszę więc o wskazówki ;)

edytowany 1x, ostatnio: asamor
payl
"Procedura wywala się przy ładowaniu pliku." - po prostu nagle wyłącza się komputer czy możesz ŁASKAWIE podać komunikat błędu który pewnie mówi o co chodzi? Naucz się używać debuggera!
AS
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 13 lat
  • Postów:5
0

Wybacz... ;)
"Project xxx.exe raised exception class EOleSysError with message 'Funkcja CoInitialize nie została wywołana'.".

Misiekd
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 12 lat
  • Postów:7923
2

i oczywiście to Funkcja CoInitialize nie została wywołana nic ci nie mówi.....


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
MA
  • Rejestracja:około 17 lat
  • Ostatnio:4 miesiące
  • Lokalizacja:Poznań
0

W aplikacjach okienkowych nie trzeba wołać CoInitialize(). W ServiceApp trzeba ręcznie to robić.
To powinno załatać problem:

Kopiuj
uses
  XMLDoc,
  XMLIntf,

FXML: IXMLDocument;
  FXML := NewXMLDocument;
  FXML := nil;
edytowany 1x, ostatnio: maciejmt
Misiekd
mylisz się - coinitialize jest wywoływana w module comobj. Jeśli ktoś go wywali z uses to kupa. BTW xmldoc ani xmlintf nie sięgają do comobj...
MA
dzięki za poprawę - aczkolwiek w ServiceApp pomimo dodania ComObj, i tak trzeba wywołać CoInitialize() - więc może stąd mój błędny wniosek :>

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.