Evento onClick não Rssponde !!!
Olá desenvolvi um sistema em delphi 7, firebird 2.1, windows XP, o sistema funciona 100% na minha máquina de desenvolvimento(XP), instalei o mesmo no menu cliente que usa windows 7 e em uma das chamadas para o formulário de Vendas (frmEfetuaVenda) evento onClick do ButtonNovaVenda, simplesmente o evento do botão não responde.
Código usado no onClick do botão:
if frmEfetuaVenda = nil then frmEfetuaVenda := TfrmEfetuaVenda.Create(Self);
try
frmEfetuaVenda.showModal;
finally
freeandNill(frmEfetuaVenda);
end;
obs1. todos os outros form´s do sistema usam a mesma chamada, e estão funcionando tanto na máquina de meu cliente como na minha de desenvolvimento.
obs2. Tem alguma coisa haver com o Sistema Opracional (Windows Xp X Windows 7).
Obrigado. Agradeço antecipadamente qualquer ajuda.
Jocelio Silva
Curtidas 0
Respostas
Marcelo Diniz
26/10/2010
Olá desenvolvi um sistema em delphi 7, firebird 2.1, windows XP, o sistema funciona 100% na minha máquina de desenvolvimento(XP), instalei o mesmo no menu cliente que usa windows 7 e em uma das chamadas para o formulário de Vendas (frmEfetuaVenda) evento onClick do ButtonNovaVenda, simplesmente o evento do botão não responde.
Código usado no onClick do botão:
if frmEfetuaVenda = nil then frmEfetuaVenda := TfrmEfetuaVenda.Create(Self);
try
frmEfetuaVenda.showModal;
finally
freeandNill(frmEfetuaVenda);
end;
obs1. todos os outros form´s do sistema usam a mesma chamada, e estão funcionando tanto na máquina de meu cliente como na minha de desenvolvimento.
obs2. Tem alguma coisa haver com o Sistema Opracional (Windows Xp X Windows 7).
Obrigado. Agradeço antecipadamente qualquer ajuda.
Código usado no onClick do botão:
if frmEfetuaVenda = nil then frmEfetuaVenda := TfrmEfetuaVenda.Create(Self);
try
frmEfetuaVenda.showModal;
finally
freeandNill(frmEfetuaVenda);
end;
obs1. todos os outros form´s do sistema usam a mesma chamada, e estão funcionando tanto na máquina de meu cliente como na minha de desenvolvimento.
obs2. Tem alguma coisa haver com o Sistema Opracional (Windows Xp X Windows 7).
Obrigado. Agradeço antecipadamente qualquer ajuda.
Tente dessa forma
if not(Assigned(frmMarcas)) then frmMarcas := TfrmMarcas.Create(self); frmMarcas.ShowModal; FreeAndNil(frmMarcas);
GOSTEI 0
Wilson Junior
26/10/2010
O Assigned é a mesma coisa que testar se é nil.
Help do Delphi:
Assigned Tests for a nil (unassigned) pointer or procedural variable.
Espero ter colaborado.
Help do Delphi:
Assigned Tests for a nil (unassigned) pointer or procedural variable.
Espero ter colaborado.
GOSTEI 0
Anderson
26/10/2010
Cuidado com as famigeradas exceções silenciosas. Se ocorrer uma exceção, faça SEMPRE o sistema avisar.
if frmEfetuaVenda = nil then frmEfetuaVenda := TfrmEfetuaVenda.Create(Self); try
Try
frmEfetuaVenda.showModal;
Except
on E:Exception do
Showmessage('Erro: '+E.Message);
End;
finally freeandNill(frmEfetuaVenda); end;
O mais provável é que falte alguma DLL (Midas, fbclient, etc..) Lembrando que a Midas pode ser incluída no executável se adicionar MidasLib na cláusula Uses do DataModule.
Abraços,
Anderson:.
if frmEfetuaVenda = nil then frmEfetuaVenda := TfrmEfetuaVenda.Create(Self); try
Try
frmEfetuaVenda.showModal;
Except
on E:Exception do
Showmessage('Erro: '+E.Message);
End;
finally freeandNill(frmEfetuaVenda); end;
O mais provável é que falte alguma DLL (Midas, fbclient, etc..) Lembrando que a Midas pode ser incluída no executável se adicionar MidasLib na cláusula Uses do DataModule.
Abraços,
Anderson:.
GOSTEI 0
Jocelio Silva
26/10/2010
Ok, fiz este teste:
if frmEfetuaVenda = nil then
begin
showmessage('Form e nil');
// não continua daqui pra baixo !
frmEfetuaVenda := TfrmEfetuaVenda.create(self);
frmEfetuaVenda.showmodal
end;
Testei também o código Anterior. Não funciona!
obrigado
GOSTEI 0
Jocelio Silva
26/10/2010
Ok, vou incluir o biblioteca MIDAS e vou testar. Mas gostaria de saber tem alguma coisa a haver com Windows XP e Windows 7 ?
GOSTEI 0
Jocelio Silva
26/10/2010
Muito obrigado a todos, inclui a biblioteca Midas e resolveu o problema.
GOSTEI 0
Wilson Junior
26/10/2010
Se está resolvido, finalize o tópico.
GOSTEI 0
Jocelio Silva
26/10/2010
Onde finalizo.
GOSTEI 0
Wilson Junior
26/10/2010
Quando você recebe a resposta do tópico ele te pergunta se o post está concluído ou não.
GOSTEI 0