RE:como liberar memoria creando y destruyendo comp
Estimado amigo:
Lo primero que tienes que pensar es que si el TTimer lo tienes pegado al form, será creado automáticamente y tú no puedes destruirlo ya que intentará hacerlo él al destruir el form (por eso el error).
Si quieres hacer lo que dices prueba a crearlo dinámicamente, es decir, en el OnCreate del form crea tu mismo el Timer:
procedure TForm1.FormCreate(Sender: TObject);
begin
MiTimer := TTimerCreate(Self);
MiTimer.Enabled := False;
MiTimer.Interval := 1000;
MiTimer.OnTimer := MiTimerTimer;
end;
y en el OnDestroy del form destrúyelo:
procedure TForm1.FormDestroy(Sender: TObject);
begin
MiTimer.Free;
end;
Eso sí acuérdate de añadir:
MiTimer : TTimer;
en las <private declarations> de form.
Tambien añade:
procedure TForm.MiTimerTimer(Sender: TObject);
begin
<...tu código...>
end;
cuyo
procedure TForm.MiTimerTimer(Sender: TObject);
debes añadir, también a mano, en las
<private declarations>
Dudas: emailme.