GARANTIR DESCONTO

Fórum erro ao acessar componente de form em tempo de execucao #274953

31/03/2005

0

Olá, estou usando Application.CreateForm(TForm, Form); Form.ShowModal; Form.Destroy para criar forms em tempo de execuca.
O problema é que tem uma tela de entrada de produtos, e no final tem uma rotina pra transferir as quantidades para o estoque e ta dando erro na hora da transferencia. Acredito eu que seja porque to tentando acessar um IBDataset no formulario do cadastro de produtos e este ainda naum foi criado, ou ja foi destruido. Será que a melhor maneira é deixar todos os DataSets( IBDataset, IBQuery e DataSources) em um DataModule ou tem como resolver isso???


Eduunai

Eduunai

Responder

Posts

31/03/2005

Domingosafn

Você pode testar se o componente existe:

if FormCadastroProdutos <> nil then
transferir_quantidades
else
Application.CreateForm(FormCadastroProdutos, Form);


Algo assim ...


Responder

Gostei + 0

01/04/2005

Raserafim

com a rotina sugerida por domingosafn vocë pode resolver o seu problema pois caso o form ainda não tenha sido criado (ou já esteja destruido) será criado, mas vc precisa fazer uma alteração neste código para que após ser criado a transferência ocorra:
if FormCadastroProdutos <> nil then 
  transferir_quantidades 
else
begin 
  Application.CreateForm(FormCadastroProdutos, Form);
  transferir_quantidades;
end;


Mas eduunai, lhe aconselho, por experiência própria e principalmente pelo que rege as boas práticas da programação, coloque os componentes de acesso em um DataModulo. seu código vai ficar bem mais organizado e robusto.


Responder

Gostei + 0

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

Aceitar