I tienen una unidad que tiene una variable de TComponent, I crear este componente en la inicialización de la unidad como siguiente:¿Puedo usar .Create (cero) en lugar de .Create (Aplicación)
var
XComp: TComponent;
.
.
.
.
initialization
begin
XCom := TComponent.Create(Application);
end;
después de instalar la unidad cuando cierro Delphi me da un mensaje de error Violación de Acceso (EAccessViolation)
pero cuando he cambiado de creador a ser las siguientes
initialization
begin
XCom := TComponent.Create(nil);
end;
todo ha ido bien ... me gustaría saber la diferencia? y que es lo mejor?
nota: el error solo aparece al cerrar el delphi (significa en tiempo de diseño).
Gracias.
Aquí está ['uno de los follow ups'] (http://stackoverflow.com/q/5420260/960757). – TLama
Está creando 'XCom' en la sección' initialization'. ¿También tienes una sección de 'finalización' que la libera? –