Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal, tudo certo?
Tenho um problema que está acontecendo a um certo tempo que eu julgo ser muito estranho.
Tenho uma aplicação que estou criando que está funcionando perfeitamente, mas, tenho um problema na hora que eu saio do meu programa, pois ele fecha todos os forms corretamente, mas ele continua com o icone do programa na barra iniciar e se eu entrar no Gerenciador de Tarefas, lá mostra que o meu programa não está funcionando corretamente, então sou obrigado a fechá-lo manualmente. O mais estranho é quando eu abro o meu projeto dentro do próprio delphi, até o delphi tem este problema e sou obrigado a fechá-lo através do gerenciador de tarefas. Já testei com outros projetos esse problema não acontece. Alguem sabe o que poderia ser? Testei meu programa no WIndows 7 e Windows XP e em todos aconteceu este problema. Estou utilizando Delphi 7, Firebird 2.0.
O que eu acredito que possa estar cirando este problema é que eu estou trabalhando com um form Modelo que eu utilizo em muitos outros forms(exceto no principal). Vou postar os códigos do Form Principal e Form Modelo. Quem puder me ajudar eu agradeço.
FORM Principal
unit UPrincipal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, Menus, Grids, StdCtrls, UDmPrincipal, UCadastroClientes,
DB, DBClient, Provider, RpCon, RpConDS, RpBase, RpSystem, RpDefine,
RpRave, RpRenderText, RpRenderHTML, RpRender, RpRenderPDF, URelatorioOrcamento,
UCadastroOrcamento;
type
TFrmPrncipal = class(TForm)
MainMenu1: TMainMenu;
Cadastro1: TMenuItem;
Clientes1: TMenuItem;
Pagamentos1: TMenuItem;
Visualizao1: TMenuItem;
Clientes2: TMenuItem;
Pagamentos2: TMenuItem;
Relatrios1: TMenuItem;
Sair1: TMenuItem;
GroupBox1: TGroupBox;
SgConsulta: TStringGrid;
Contas1: TMenuItem;
Contas2: TMenuItem;
Image1: TImage;
DataSetProvider1: TDataSetProvider;
ClientDataSet1: TClientDataSet;
RvProjetoClientes: TRvProject;
RvSistemaClientes: TRvSystem;
RvDataSetConnection1: TRvDataSetConnection;
BtnRelatorioClientes: TMenuItem;
RvRenderPDF1: TRvRenderPDF;
RvRenderHTML1: TRvRenderHTML;
RvRenderText1: TRvRenderText;
DataSetProvider2: TDataSetProvider;
ClientDataSet2: TClientDataSet;
RvProjetoPagamentos: TRvProject;
RvSistemaPagamentos: TRvSystem;
RvDataSetConnection2: TRvDataSetConnection;
BtnRelatorioPagamentos: TMenuItem;
ClientDataSet3: TClientDataSet;
DataSetProvider3: TDataSetProvider;
RvProjetoContas: TRvProject;
RvSistemaContas: TRvSystem;
RvDataSetConnection3: TRvDataSetConnection;
BtnRelatorioContas: TMenuItem;
BtnRelatorioOrcamento: TMenuItem;
BtnCadastroorcamento: TMenuItem;
RvDataSetConnection4: TRvDataSetConnection;
RvSistemaOrcamentos: TRvSystem;
RvOrcamento: TRvProject;
ClientDataSet4: TClientDataSet;
DataSetProvider4: TDataSetProvider;
BackupBancodeDados1: TMenuItem;
SaveDialog1: TSaveDialog;
procedure FormShow(Sender: TObject);
procedure Sair1Click(Sender: TObject);
procedure Clientes1Click(Sender: TObject);
procedure Pagamentos1Click(Sender: TObject);
procedure Contas1Click(Sender: TObject);
procedure Clientes2Click(Sender: TObject);
procedure Contas2Click(Sender: TObject);
procedure Pagamentos2Click(Sender: TObject);
procedure BtnRelatorioClientesClick(Sender: TObject);
procedure BtnRelatorioPagamentosClick(Sender: TObject);
procedure BtnRelatorioContasClick(Sender: TObject);
procedure BtnRelatorioOrcamentoClick(Sender: TObject);
procedure BtnCadastroorcamentoClick(Sender: TObject);
procedure BackupBancodeDados1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmPrncipal: TFrmPrncipal;
implementation
uses ULogin, UCadastroPagamentos, UCadastroContas, UConsultaClientes, UConsultaContas, UConsultaPagamentos;
{$R *.dfm}
procedure TFrmPrncipal.FormShow(Sender: TObject);
begin
SgConsulta.Cells[0,0] := 'Status Atual';
SgConsulta.Cells[1,0] := 'Cliente';
SgConsulta.Cells[2,0] := 'Nota Fiscal';
SgConsulta.Cells[3,0] := 'Data';
SgConsulta.Cells[4,0] := 'Forma de Pagamento';
SgConsulta.Cells[5,0] := 'Valor (R$)';
SgConsulta.Cells[6,0] := 'Vencimento';
SgConsulta.Cells[7,0] := 'Ordem de Compra';
SgConsulta.cells[0,1] := '';
with DM.SQLQuery1 do
begin
SQL.Clear;
SQL.Add('SELECT * FROM PAGAMENTOS ORDER BY COD_PAGAMENTO DESC;');
Open;
While not EOF do
begin
IF SgConsulta.Cells[0,1] <> '' then
SgConsulta.RowCount := SgConsulta.RowCount + 1;
SgConsulta.Cells[0,SgConsulta.RowCount-1] := FieldByName ('STATUS_PAGAMENTO').AsString;
SgConsulta.Cells[1,SgConsulta.RowCount-1] := FieldByName ('CLIENTE_PAGAMENTO').AsString;
SgConsulta.Cells[2,SgConsulta.RowCount-1] := FieldByName ('NF_PAGAMENTO').AsString;
SgConsulta.Cells[3,SgConsulta.RowCount-1] := FieldByName ('DATA_PAGAMENTO').AsString;
SgConsulta.Cells[4,SgConsulta.RowCount-1] := FieldByName ('FORMA_PAGAMENTO').AsString;
SgConsulta.Cells[5,SgConsulta.RowCount-1] := FieldByName('VALOR_PAGAMENTO').AsString;
SgConsulta.Cells[6,SgConsulta.RowCount-1] := FieldByName ('VENCIMENTO_PAGAMENTO').AsString;
SgConsulta.Cells[7,SgConsulta.RowCount-1] := FieldByName ('OC_PAGAMENTO').AsString;
Next;
End;
end;
end;
procedure TFrmPrncipal.Sair1Click(Sender: TObject); Close;
end;
procedure TFrmPrncipal.Clientes1Click(Sender: TObject); FrmCadastroClientes:=TFrmCadastroClientes.Create(Self);
Try
FrmCadastroClientes.ShowModal;
Finally
FrmCadastroClientes.Free;
end;
FrmPrncipal.Close;
end;
procedure TFrmPrncipal.Pagamentos1Click(Sender: TObject); FrmCadastroPagamentos:=TFrmCadastroPagamentos.Create(Self);
Try
FrmCadastroPagamentos.ShowModal;
Finally
FrmCadastroPagamentos.Free;
end;
FrmPrncipal.Close;
end;
procedure TFrmPrncipal.Contas1Click(Sender: TObject); FrmCadastroContas := TFrmCadastroContas.Create(Self);
Try
FrmCadastroContas.ShowModal;
Finally
FrmCadastroContas.Free;
end;
FrmPrncipal.Close;
end;
procedure TFrmPrncipal.Clientes2Click(Sender: TObject); FrmCOnsultaClientes := TFrmCOnsultaClientes.Create(Self);
Try
FrmCOnsultaClientes.ShowModal;
Finally
FrmCOnsultaClientes.Free;
end;
FrmPrncipal.Close;
end;
procedure TFrmPrncipal.Contas2Click(Sender: TObject); FrmCOnsultaContas := TFrmCOnsultaContas.Create(Self);
Try
FrmCOnsultaContas.ShowModal;
Finally
FrmCOnsultaContas.Free;
end;
FrmPrncipal.Close;
end;
procedure TFrmPrncipal.Pagamentos2Click(Sender: TObject); FrmConsultaPagamentos := TFrmConsultaPagamentos.Create(Self);
Try
FrmConsultaPagamentos.ShowModal;
Finally
FrmConsultaPagamentos.Free;
end;
FrmPrncipal.Close;
end;
procedure TFrmPrncipal.BtnRelatorioClientesClick(Sender: TObject); RvProjetoClientes.Execute;
end;
procedure TFrmPrncipal.BtnRelatorioPagamentosClick(Sender: TObject); RvProjetoPagamentos.Execute;
end;
procedure TFrmPrncipal.BtnRelatorioContasClick(Sender: TObject); RvProjetoContas.Execute;
end;
procedure TFrmPrncipal.BtnRelatorioOrcamentoClick(Sender: TObject); RvOrcamento.Execute;
end;
procedure TFrmPrncipal.BtnCadastroorcamentoClick(Sender: TObject); FrmCadastroorcamentos := TFrmCadastroorcamentos.Create(Self);
Try
FrmCadastroorcamentos.ShowModal;
Finally
FrmCadastroorcamentos.Free;
end;
FrmPrncipal.Close;
end;
procedure TFrmPrncipal.BackupBancodeDados1Click(Sender: TObject); Origem := 'C:\Smart Business\db\SMART.FDB';
SaveDialog1.FileName := Arquivo;
SaveDialog1.InitialDir := Origem;
SaveDialog1.Filter := '.fdb';
if SaveDialog1.Execute then
begin
Arquivo := SaveDialog1.FileName+SaveDialog1.Filter;
if not CopyFile(PChar(Origem), PChar(SaveDialog1.FileName+'.FDB'), false) then
ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino)
Else
ShowMessage('Backup efetuado com sucesso.');
end;
end;
end.
Form Modelo
unit UMODELO;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, Menus, Grids, StdCtrls, UDmPrincipal, RpRave,
RpCon, RpConDS, RpDefine, RpBase, RpSystem, RpRenderText, RpRenderHTML,
RpRender, RpRenderPDF, DB, DBClient, Provider;
type
TFrmModelo = class(TForm)
Image1: TImage;
MainMenu1: TMainMenu;
Cadastro1: TMenuItem;
Clientes1: TMenuItem;
Pagamentos1: TMenuItem;
Visualizao1: TMenuItem;
Clientes2: TMenuItem;
Pagamentos2: TMenuItem;
Relatrios1: TMenuItem;
Sair1: TMenuItem;
Contas1: TMenuItem;
Contas2: TMenuItem;
RvSistemaClientes: TRvSystem;
RvDataSetConnection1: TRvDataSetConnection;
RvProjetoClientes: TRvProject;
BtnRelatorioClientes: TMenuItem;
RvRenderPDF1: TRvRenderPDF;
RvRenderHTML1: TRvRenderHTML;
RvRenderText1: TRvRenderText;
DataSetProvider1: TDataSetProvider;
ClientDataSet1: TClientDataSet;
DataSetProvider2: TDataSetProvider;
ClientDataSet2: TClientDataSet;
RvProjetoPagamentos: TRvProject;
RvSistemaPagamentos: TRvSystem;
RvDataSetConnection2: TRvDataSetConnection;
BtnRelatorioPagamentos: TMenuItem;
DataSetProvider3: TDataSetProvider;
ClientDataSet3: TClientDataSet;
RvProjetoContas: TRvProject;
RvSistemaContas: TRvSystem;
RvDataSetConnection3: TRvDataSetConnection;
BtnRelatorioContas: TMenuItem;
RvDataSetConnection4: TRvDataSetConnection;
RvSistemaOrcamentos: TRvSystem;
Rvorcamento: TRvProject;
ClientDataSet4: TClientDataSet;
DataSetProvider4: TDataSetProvider;
CriarRelatriodeOramento1: TMenuItem;
GerarBackupBancodeDados1: TMenuItem;
SaveDialog1: TSaveDialog;
Oramentos1: TMenuItem;
procedure Sair1Click(Sender: TObject);
procedure Clientes1Click(Sender: TObject);
procedure Pagamentos1Click(Sender: TObject);
procedure Contas1Click(Sender: TObject);
procedure Clientes2Click(Sender: TObject);
procedure Contas2Click(Sender: TObject);
procedure Pagamentos2Click(Sender: TObject);
procedure BtnRelatorioClientesClick(Sender: TObject);
procedure BtnRelatorioPagamentosClick(Sender: TObject);
procedure BtnRelatorioContasClick(Sender: TObject);
procedure CriarRelatriodeOramento1Click(Sender: TObject);
procedure GerarBackupBancodeDados1Click(Sender: TObject);
procedure Oramentos1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmModelo: TFrmModelo;
implementation
uses UCadastroClientes, UPrincipal, UCadastroPagamentos, UCadastroContas, UConsultaClientes, UConsultaContas, UConsultaPagamentos, UCadastroOrcamento;
{$R *.dfm}
procedure TFrmModelo.Sair1Click(Sender: TObject);
begin
Halt(2);
Application.Terminate;
end;
procedure TFrmModelo.Clientes1Click(Sender: TObject); FrmCadastroClientes:=TFrmCadastroClientes.Create(Self);
Try
FrmCadastroClientes.ShowModal;
Finally
FrmCadastroClientes.Free;
end;
end;
procedure TFrmModelo.Pagamentos1Click(Sender: TObject); FrmCadastroPagamentos:=TFrmCadastroPagamentos.Create(Self);
Try
FrmCadastroPagamentos.ShowModal;
Finally
FrmCadastroPagamentos.Free;
end;
end;
procedure TFrmModelo.Contas1Click(Sender: TObject); FrmCadastroContas := TFrmCadastroContas.Create(Self);
Try
FrmCadastroContas.ShowModal;
Finally
FrmCadastroContas.Free;
end;
end;
procedure TFrmModelo.Clientes2Click(Sender: TObject); FrmCOnsultaClientes := TFrmCOnsultaClientes.Create(Self);
Try
FrmCOnsultaClientes.ShowModal;
Finally
FrmCOnsultaClientes.Free;
end;
end;
procedure TFrmModelo.Contas2Click(Sender: TObject); FrmCOnsultaContas := TFrmCOnsultaContas.Create(Self);
Try
FrmCOnsultaContas.ShowModal;
Finally
FrmCOnsultaContas.Free;
end;
end;
procedure TFrmModelo.Pagamentos2Click(Sender: TObject); FrmConsultaPagamentos := TFrmConsultaPagamentos.Create(Self);
Try
FrmConsultaPagamentos.ShowModal;
Finally
FrmConsultaPagamentos.Free;
end;
end;
procedure TFrmModelo.BtnRelatorioClientesClick(Sender: TObject); RvProjetoClientes.Execute;
end;
procedure TFrmModelo.BtnRelatorioPagamentosClick(Sender: TObject); RvProjetoPagamentos.Execute;
end;
procedure TFrmModelo.BtnRelatorioContasClick(Sender: TObject); RvProjetoContas.Execute;
end;
procedure TFrmModelo.CriarRelatriodeOramento1Click(Sender: TObject); Rvorcamento.Execute;
end;
procedure TFrmModelo.GerarBackupBancodeDados1Click(Sender: TObject); Origem := 'C:\Smart Business\db\SMART.FDB';
SaveDialog1.FileName := Arquivo;
SaveDialog1.InitialDir := Origem;
SaveDialog1.Filter := '.fdb';
if SaveDialog1.Execute then
begin
Arquivo := SaveDialog1.FileName+SaveDialog1.Filter;
if not CopyFile(PChar(Origem), PChar(SaveDialog1.FileName+'.FDB'), false) then
ShowMessage('Erro ao copiar ' + Origem + ' para ' + Destino)
Else
ShowMessage('Backup efetuado com sucesso.');
end;
end;
procedure TFrmModelo.Oramentos1Click(Sender: TObject); FrmCadastroorcamentos := TFrmCadastroorcamentos.Create(Self);
Try
FrmCadastroorcamentos.ShowModal;
Finally
FrmCadastroorcamentos.Free;
end;
FrmPrncipal.Close;
end;
procedure TFrmModelo.FormClose(Sender: TObject; var Action: TCloseAction); Action := CaFree;
end;
end.
Carregando comentários...