Ich habe eine Einheit, die eine Variable von TComponent hat, erzeuge ich diese Komponente auf Initialisierung der Einheit wie folgt vor:Kann ich .Create (Nil) statt .Create (Anwendung)
var
XComp: TComponent;
.
.
.
.
initialization
begin
XCom := TComponent.Create(Application);
end;
nach der Installation das Gerät, wenn ich in der Nähe Delphi es mir eine Fehlermeldung Zugriffsverletzung (EAccessViolation)
aber wenn ich änderte meine Schöpfer zu sein, wie folgend
initialization
begin
XCom := TComponent.Create(nil);
end;
alles ging gut ... I gibt möchte den Unterschied wissen? und was ist besser?
Hinweis: Der Fehler tritt nur beim Schließen des Delphi auf (bedeutet zur Entwurfszeit).
Danke.
Hier ist ['eins der Follow-ups'] (http://stackoverflow.com/q/5420260/960757). – TLama
Sie erstellen 'XCom' im Abschnitt' initialization'. Haben Sie auch eine 'Finalisierung'-Sektion, die es freigibt? –