Forum: Object-Pascal / Delphi-Language
Delphi
by guidok,
3. Mär 2009
Ah so ist das. Danke für die Info.
Wie ist es, wenn ich die Prozedur aus dem o.g. Beispiel mehrfach aufrufen muss? Sollte ich sinnvollerweise das Interface vorher auf nil setzen?
procedure TTest.ErstelleRoot;
begin
FXMLDoc := nil; //Interface löschen
FXMLDoc := CreateXMLDoc;
FXMLDoc.DocumentElement := FXMLDoc.CreateElement('root');
Forum: Object-Pascal / Delphi-Language
Delphi
by guidok,
3. Mär 2009
Was bedeutet "Keine Referenz mehr"?
Sprich: Wird das Objekt immer am Ende der Prozedur zerstört?
Ich benötige an anderer Stelle ebenfalls Zugriff auf das besagte XMLDoc und möchte daher etwas in dieser Art machen:
type
TTest = class(TObject)
private
Forum: Object-Pascal / Delphi-Language
Delphi
by guidok,
3. Mär 2009
Ich habe noch ein wenig Probleme mit der Handhabung von Interfaces. Der nachfolgende Quellcode stammt aus dem Beispiel von OmniXML. Hier wird ein XMLDoc (was ja ein Interface ist) erzeugt, eine Datei erstellt, gespeichert und Schluss. Freigeben muss man XMLDoc offensichtlich nicht.
Wer gibt XMLDoc, wann frei?
var
XMLDoc: IXMLDocument;
begin
XMLDoc := CreateXMLDoc;