Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   IXMLDocument ausserhalb von VLC verwenden (https://www.delphipraxis.net/168600-ixmldocument-ausserhalb-von-vlc-verwenden.html)

andresku 30. Mai 2012 13:58

IXMLDocument ausserhalb von VLC verwenden
 
Hallo Leute,

für die Bearbeitung eines XMLs (genau: GPX) in Delphi 2006 habe ich eine Unit angelegt, die ich ohne Design-Komponenten verwende (also als "reines" Pascal-Code). Schon beim ersten Zugriff auf das Objekt IXMLDocument (NewXLLDocument, oder LoadXMLDocument) bekomme ich eine "access violation". Übertrage ich aber den gleichen Code in Programm für den Design-Modus (FormShow, ButtonClick, o.ä.) kommt der Fehler nicht. Muß was möglicherweise bei der Deklaration der Variablen "noch berücksichtigt werden"? Was?

Danke für die Antwort

daywalker9 30. Mai 2012 14:36

AW: IXMLDocument ausserhalb von VLC verwenden
 
Delphi-Quellcode:
CoInitialize(nil)
(Unit: ActiveX oder COmObj, bin mir grad nicht sicher) wird dir noch fehlen, damit wird OLE initialisiert in einer non-VCL Anwendung. Bei einer VCL Anwendung passiert das von selbst.

Korrekterweise musst Du dann auch noch
Delphi-Quellcode:
CoUnInitialize
aufrufen

andresku 31. Mai 2012 10:36

AW: IXMLDocument ausserhalb von VLC verwenden
 
Das Problem saß doch vor dem Bildschirm. Die Initialisierung der genannten Variable habe ich in einem Konstruktor vorgenommen. Den habe ich allerdings falsch aufgerufen:
Statt:
variable := Objekttyp.Create(params);
habe ich kodiert:
variable.Create(params);

Trotzdem, vielen Dank für die Antwort.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz