Mam urządzenie, które ma zmienną TComponent, tworzę ten składnik inicjalizacji urządzenia jak następuje:mogę używać .Create (zero) zamiast .Create (Application)
var
XComp: TComponent;
.
.
.
.
initialization
begin
XCom := TComponent.Create(Application);
end;
po zainstalowaniu jednostka gdy zamknę Delphi wyskakuje mi komunikat o błędzie naruszenia zasad dostępu (EAccessViolation)
ale kiedy zmieniłem twórcę się następująco
initialization
begin
XCom := TComponent.Create(nil);
end;
wszystko poszło dobrze ... ja chciałbyś poznać różnicę? i co jest lepsze?
uwaga: błąd pojawia się tylko przy zamykaniu delphi (oznacza w czasie projektowania).
Dzięki.
Oto jeden z następujących przykładów: (http://stackoverflow.com/q/5420260/960757). – TLama
Tworzysz 'XCom' w sekcji' inicjalizacja'. Czy masz również sekcję "finalizacji", która ją zwalnia? –