GARANTIR DESCONTO

Fórum Problema ao liberar componente com .free #337869

14/02/2007

0

Olá

A ajuda do delphi diz:

FREE Method

´Never explicitly free a component within one of its own event handlers or the event handler of a component it owns or contains. For example, don’t free a button, or the form that owns the button, in its OnClick event handler.´

-------------------------------------------------------------------------------------

Na minha janela eu tenho uma listagem de imagens, um botão salvar e uma função salvarimagens() associada ao evento OnClick do botão salvar.

A função salvarimagens() faz algumas operações para salvar e depois destrói os componentes de imagem e o botão salvar (usando o método .free). Como dito na ajuda do delphi, eu recebo mensagem de access violation.

Tentei fazer uma funcao salvarhandler() para o evento onclick e chamar a funcao salvarimagens() dentro dessa nova função mas o resultado foi o mesmo.
Criei um timer (threaded) e ativei ele dentro dessa nova funcao salvarhandler() e chamei a funcao salvarimagens() no evento ontimer e funcionou perfeitamente, mas me levou a outros problemas de programação (devido ao processo[thread] isolado do timer)

Nessas circunstâncias, alguem sabe alguma maneira de usar .free nessa situação, sem o uso de timers?


Technoinside

Technoinside

Responder

Posts

14/02/2007

Massuda

Não entendi direito, mas geralmente componentes que você põe/arrasta num form não precisa ser destruídos por você, eles serão destruídos automaticamente junte com o form.


Responder

Gostei + 0

14/02/2007

Edusjc

Posso estar enganado, ou posso não ter entendido direito o problema, mas sempre que uso o comando .free é unicamente para liberar da sua memória o seu sistema, ou seja, quando fechar o sistema utilizo o .free para que libere a memória e não fique ocupando por coisas que não vai mais utilizar.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar