Fórum Aplicação não abrir duas vezes #131239
28/03/2010
0
Irenildo Carvalho
Curtir tópico
+ 0Posts
29/03/2010
Wesley Yamazack
Provavelmente ele estará mais ou menos da sgeuinte forma.
program xptp;
uses
Forms,
Unit1 in 'Unit1.pas' ;
{$R *.res}
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Altere o mesmo para que fique
program xptp;
uses
Forms,
Unit1 in 'Unit1.pas', Windows, Dialogs ;
{$R *.res}
var
Hwnd: Thandle;
begin
Hwnd := FindWindow ('TForm1', 'Form1');
if Hwnd = 0 then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end
else
begin
MessageDlg ('Já existe uma instãncia deste programa, verifique por favor!!',mtinformation,[mbok], 0);
SetForegroundWindow (Hwnd);
end;
end.
Faça as alterações e veja o resultado.
Um abraço
Wesley Y
Gostei + 0
30/03/2010
Wesley Yamazack
Um abraço
Wesley
Gostei + 0
30/03/2010
Irenildo Carvalho
Gostei + 0
30/03/2010
Irenildo Carvalho
Hwnd: Thandle;
begin
Hwnd := FindWindow ('TfrmMenu', 'frmMenu');
if Hwnd = 0 then
begin
Application.Initialize;
Application.Title := 'SysErp';
Application.CreateForm(TdmAdo, dmAdo);
Application.CreateForm(TfrmMenu, frmMenu);
Application.Run;
end
else
begin
MessageDlg ('Já existe uma instância deste programa aberta, verifique por favor!!',mtinformation,[mbok], 0);
SetForegroundWindow (Hwnd);
end;
end.
Gostei + 0
31/03/2010
Wesley Yamazack
Fiz um exemplo com os mesmos nomes de forms que você e funcionou, faça uma exemplo de teste e me mande, pois aqui esta funcionando.
Veja o codigo abaixo :
program Project1;
uses
Forms,
Windows,
Dialogs,
Unit1 in 'Unit1.pas' ,
Unit2 in 'Unit2.pas' {dmAdo: TDataModule};
{$R *.res}
var
Hwnd: Thandle;
begin
Hwnd := FindWindow ('TfrmMenu', 'frmMenu');
if Hwnd = 0 then
begin
Application.Initialize;
Application.Title := 'SysErp';
Application.CreateForm(TdmAdo, dmAdo);
Application.CreateForm(TfrmMenu, frmMenu);
Application.Run;
end
else
begin
MessageDlg ('Já existe uma instância deste programa aberta, verifique por favor!!',mtinformation,[mbok], 0);
SetForegroundWindow (Hwnd);
end;
end.
Um abraço
Wesley Y
Gostei + 0
31/03/2010
Irenildo Carvalho
Forms,
Windows,
Dialogs,
XPMan,
Funcao in 'Funcao.pas',
Padrao in 'Padrao.pas' ,
dadADO in 'dadADO.pas' {dmAdo: TDataModule},
RelPadrao in 'RelPadrao.pas' ,
CadPadrao in 'CadPadrao.pas' ,
FilRelPadrao in 'FilRelPadrao.pas' ,
CadPadraoDetalhe in 'CadPadraoDetalhe.pas' ,
Menu in 'Menu.pas',
CadGrupo in 'CadGrupo.pas' ,
CadGrupoDetalhe in 'CadGrupoDetalhe.pas' ,
CadEstado in 'CadEstado.pas' ,
CadEstadoDetalhe in 'CadEstadoDetalhe.pas' ,
Endereco in 'Endereco.pas' {fraEndereco: TFrame},
CadRepresentante in 'CadRepresentante.pas' ,
CadRepresentanteDetalhe in 'CadRepresentanteDetalhe.pas' ,
CadCliente in 'CadCliente.pas' ,
CadClienteDetalhe in 'CadClienteDetalhe.pas' ,
CadProduto in 'CadProduto.pas' ,
CadProdutoDetalhe in 'CadProdutoDetalhe.pas' ,
FilRelComissaoVendedor in 'FilRelComissaoVendedor.pas' ,
RelComissaoVenda in 'RelComissaoVenda.pas' ,
FilRelVenda in 'FilRelVenda.pas' ,
RelVendaPeriodo in 'RelVendaPeriodo.pas' ,
CadEmpresa in 'CadEmpresa.pas' ,
CadCodigoFiscal in 'CadCodigoFiscal.pas' ,
CadCodigoFiscalDetalhe in 'CadCodigoFiscalDetalhe.pas' ,
Sobre in 'Sobre.pas' ,
Permissao in 'Permissao.pas' ,
CadOrdemServico in 'CadOrdemServico.pas' ,
CadOrdemServicoDetalhe in 'CadOrdemServicoDetalhe.pas' ,
FilRelListaPreco in 'FilRelListaPreco.pas' ,
RelListaPreco in 'RelListaPreco.pas' ,
Extenso in 'Extenso.pas',
RelOrdemServico in 'RelOrdemServico.pas' ,
login in 'login.pas' ,
CadUsuarioDetalhe in 'CadUsuarioDetalhe.pas' ,
CadUsuario in 'CadUsuario.pas' ,
CadParametro in 'CadParametro.pas' ,
ReajustePreco in 'ReajustePreco.pas' ,
CadFornecedor in 'CadFornecedor.pas' ,
CadFornecedorDetalhe in 'CadFornecedorDetalhe.pas' ,
CadNotaFiscalFornec in 'CadNotaFiscalFornec.pas' ,
CadNotaFiscalFornecDetalhe in 'CadNotaFiscalFornecDetalhe.pas' ,
CadTipoTitulo in 'CadTipoTitulo.pas' ,
CadTipoTituloDetalhe in 'CadTipoTituloDetalhe.pas' ,
CadFormaPagamento in 'CadFormaPagamento.pas' ,
CadFormaPagamentoDetalhe in 'CadFormaPagamentoDetalhe.pas' ,
FilCadPadrao in 'FilCadPadrao.pas' ,
CadTituloPagar in 'CadTituloPagar.pas' ,
CadTituloPagarDetalhe in 'CadTituloPagarDetalhe.pas' ,
FilCadTituloPagar in 'FilCadTituloPagar.pas' ,
CadTituloReceber in 'CadTituloReceber.pas' ,
FilCadTituloReceber in 'FilCadTituloReceber.pas' ,
CadTituloReceberDetalhe in 'CadTituloReceberDetalhe.pas' ,
CadAcertoEstoqueProduto in 'CadAcertoEstoqueProduto.pas' ,
CadAcertoEstoqueProdutoDetalhe in 'CadAcertoEstoqueProdutoDetalhe.pas' ,
InscE32 in 'InscE32.pas',
FilRelInventarioEstoqueProdutos in 'FilRelInventarioEstoqueProdutos.pas' ,
RelInventarioEstoqueProduto in 'RelInventarioEstoqueProduto.pas' ,
FilRelMovimentacaoProduto in 'FilRelMovimentacaoProduto.pas' ,
RelMovimentacaoProduto in 'RelMovimentacaoProduto.pas' ,
FilRelFluxoCaixa in 'FilRelFluxoCaixa.pas' ,
RelFluxoCaixa in 'RelFluxoCaixa.pas' ,
RelTituloReceber in 'RelTituloReceber.pas' ,
RelTituloPagar in 'RelTituloPagar.pas' ,
CadBoletoBancario in 'CadBoletoBancario.pas' ,
CadBoletoBancarioDetalhe in 'CadBoletoBancarioDetalhe.pas' ,
CadPedidoProdutoDetalhe in 'CadPedidoProdutoDetalhe.pas' ,
CadPedidoProduto in 'CadPedidoProduto.pas' ,
CadCompraProdutoDetalhe in 'CadCompraProdutoDetalhe.pas' ,
CadCompraProduto in 'CadCompraProduto.pas' ,
CadRamoAtividade in 'CadRamoAtividade.pas' ,
CadRamoAtividadeDetalhe in 'CadRamoAtividadeDetalhe.pas' ,
CadFormaPagamentoCaixa in 'CadFormaPagamentoCaixa.pas' ,
CadFormaPagamentoCaixaDetalhe in 'CadFormaPagamentoCaixaDetalhe.pas' ,
CadTerminal in 'CadTerminal.pas' ,
CadTerminalDetalhe in 'CadTerminalDetalhe.pas' ,
ConfereCaixa in 'ConfereCaixa.pas',
ConsultaPadrao in 'ConsultaPadrao.pas' ,
ImpPadrao in 'ImpPadrao.pas' ,
ConsultaTransacaoParcela in 'ConsultaTransacaoParcela.pas' ,
ConsultaTransacao in 'ConsultaTransacao.pas' ,
ConsultaTransacaoItem in 'ConsultaTransacaoItem.pas' ,
CadCheque in 'CadCheque.pas' ,
CadChequeDetalhe in 'CadChequeDetalhe.pas' ,
RelProduto in 'RelProduto.pas' ,
CadNotaFiscalDetalhe in 'CadNotaFiscalDetalhe.pas' ,
CadNotaFiscal in 'CadNotaFiscal.pas' ,
CadVenda in 'CadVenda.pas' ,
CadVendaDetalhe in 'CadVendaDetalhe.pas' ,
FilCadNotaFiscal in 'FilCadNotaFiscal.pas' ,
FilCadVenda in 'FilCadVenda.pas' ,
FilReltipovenda in 'FilReltipovenda.pas' ,
RelTipovenda in 'RelTipovenda.pas' ,
FilRelExtratoComissao in 'FilRelExtratoComissao.pas' ,
CadClienteHistorico in 'CadClienteHistorico.pas' ,
CadFabricante in 'CadFabricante.pas' ,
CadFabricanteDetalhe in 'CadFabricanteDetalhe.pas' ,
CadProdutoHistorico in 'CadProdutoHistorico.pas' ,
CadFornecedorHistorico in 'CadFornecedorHistorico.pas' ,
CadFabricanteHistorico in 'CadFabricanteHistorico.pas' ,
RelVenda in 'RelVenda.pas' ,
CadGrupoContaFinanceira in 'CadGrupoContaFinanceira.pas' ,
CadGrupoContaFinanceiraDetalhe in 'CadGrupoContaFinanceiraDetalhe.pas' ,
CadContaFinanceira in 'CadContaFinanceira.pas' ,
CadContaFinanceiraDetalhe in 'CadContaFinanceiraDetalhe.pas' ,
MovimentacaoFinanceira in 'MovimentacaoFinanceira.pas' ,
CadMovimentacaoFinanceiraDetalhe in 'CadMovimentacaoFinanceiraDetalhe.pas' ,
RelExtrato in 'RelExtrato.pas' ,
FilRelDre in 'FilRelDre.pas' ,
RelDre in 'RelDre.pas' ,
FilRelResumoReceitaDespesa in 'FilRelResumoReceitaDespesa.pas' ,
RelResumoReceitaDespesa in 'RelResumoReceitaDespesa.pas' ,
CadPedido in 'CadPedido.pas' ,
CadPedidoDetalhe in 'CadPedidoDetalhe.pas' ,
RelPedido in 'RelPedido.pas' ,
FilRelResumoMovimento in 'FilRelResumoMovimento.pas' ,
RelResumoMovimento in 'RelResumoMovimento.pas' ,
FilRelCustoApuradoCaixa in 'FilRelCustoApuradoCaixa.pas' ,
RelCustoApuradoCaixa in 'RelCustoApuradoCaixa.pas' ,
CadKitProduto in 'CadKitProduto.pas' ,
CadKitProdutoDetalhe in 'CadKitProdutoDetalhe.pas' ,
ResultadoOs in 'ResultadoOs.pas' ,
ConsultaCaixaOs in 'ConsultaCaixaOs.pas' ,
FilrelDescricao in 'FilrelDescricao.pas' ,
RelResultado in 'RelResultado.pas' ,
RelResultadoOs in 'RelResultadoOs.pas' ,
RelTituloReceber2 in 'RelTituloReceber2.pas' ,
RelDescricao in 'RelDescricao.pas' ,
RelExtratoComissao in 'RelExtratoComissao.pas' ,
CadServico in 'CadServico.pas' ,
CadServicoDetalhe in 'CadServicoDetalhe.pas' ,
RelPedidoCompra in 'RelPedidoCompra.pas' ,
RelVendaServico in 'RelVendaServico.pas' ,
Cadveiculo in 'Cadveiculo.pas' ,
CadVeiculoDetalhe in 'CadVeiculoDetalhe.pas' ,
uAguarde in 'uAguarde.pas' ; {$R *.res} var
Hwnd: Thandle;
begin
Hwnd := FindWindow ('TfrmMenu', 'frmMenu');
if Hwnd = 0 then
begin
Application.Initialize;
Application.Title := 'SysErp';
Application.CreateForm(TdmAdo, dmAdo);
Application.CreateForm(TfrmMenu, frmMenu);
Application.Run;
end
else
begin
MessageDlg ('Já existe uma instância deste programa aberta, verifique por favor!!',mtinformation,[mbok], 0);
SetForegroundWindow (Hwnd);
end;
end.
Gostei + 0
01/04/2010
Wesley Yamazack
Faça um exemplo, somente com dois forms, e me mande para poder analisar, os fontes desta forma não adiantam pois esta igual ao meu.
Um abraço
Wesley Y
Gostei + 0
01/04/2010
Irenildo Carvalho
Gostei + 0
01/04/2010
Irenildo Carvalho
Gostei + 0
01/04/2010
Irenildo Carvalho
Gostei + 0
01/04/2010
Irenildo Carvalho
Gostei + 0
01/04/2010
Irenildo Carvalho
Gostei + 0
01/04/2010
Irenildo Carvalho
Gostei + 0
01/04/2010
Irenildo Carvalho
Gostei + 0
01/04/2010
Irenildo Carvalho
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)