Problema ao fechar abas(TDI)
14/12/2023
0
uma aba de uma Form(TTDI) ele fecha tudo de uma vez quando eu vou fechar só uma!
unit View.Principal;
interface
uses
Winapi.Windows,
Winapi.Messages,
System.SysUtils,
System.Variants,
System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.ExtCtrls,
Vcl.StdCtrls,
TDI,
View.Base,
View.tdi.base,
View.tdi.filial,
View.tdi.home,
View.tdi.Venda,
Vcl.Imaging.pngimage;
type
TViewPrincipal = class(TViewBase)
PnlTopo: TPanel;
PnlMenu: TPanel;
PnlBackGround: TPanel;
BtnTeste: TButton;
PnlTdi: TPanel;
Button1: TButton;
Button2: TButton;
PnlLogoSistema: TPanel;
PnlImgLogoSistema: TPanel;
ImgLogoSistemaBranca: TImage;
PnlNomeEmpresa: TPanel;
ImgLogoSistemaAzul: TImage;
Label1: TLabel;
Label2: TLabel;
PnlMaisUsados: TPanel;
PnlUsuario: TPanel;
PnlImgUser: TPanel;
ImgUserBranca: TImage;
ImgUserAzul: TImage;
PnlDadosUser: TPanel;
LblNome: TLabel;
LblTipoUser: TLabel;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ImgLogoSistemaBrancaMouseEnter(Sender: TObject);
procedure ImgUserBrancaMouseEnter(Sender: TObject);
procedure ImgUserAzulMouseLeave(Sender: TObject);
procedure ImgLogoSistemaAzulMouseLeave(Sender: TObject);
procedure ImgLogoSistemaAzulClick(Sender: TObject);
procedure BtnTesteClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
var
FTDI : TTDI;
end;
var
ViewPrincipal: TViewPrincipal;
implementation
{$R *.dfm}
procedure TViewPrincipal.FormShow(Sender: TObject);
begin
inherited;
FTDI := TTDI.Create(pnlTDI, TViewHomeTDI);
FTDI.MostrarMenuPopup := False;
end;
procedure TViewPrincipal.BtnTesteClick(Sender: TObject);
begin //Vendas
inherited;
FTDI.MostrarFormulario(TViewVendasTDI, true);
end;
procedure TViewPrincipal.Button2Click(Sender: TObject);
begin //Filial
inherited;
FTDI.MostrarFormulario(TViewFilialTdi, true);
end;
procedure TViewPrincipal.Button1Click(Sender: TObject);
begin
inherited;
Close;
end;
end.
Emanoel Carvalho
Post mais votado
14/12/2023
Aparentemente, no Button1, o Close é do componente TViewPrincipal e não das janelas TDI (TViewHomeTDI, TViewVendasTDI, etc.).
Imagino que você precisaria identificar o form ativo e executar o Close dele.
Arthur Heinrich
Mais Posts
15/12/2023
Emanoel Carvalho
Aparentemente, no Button1, o Close é do componente TViewPrincipal e não das janelas TDI (TViewHomeTDI, TViewVendasTDI, etc.).
Imagino que você precisaria identificar o form ativo e executar o Close dele.
Esse "Close" e pra fechar o meu sistema, ele não tem nada ligado ai TDI. Eu estou fechando a minha aba TDI no [X] mesmo!
15/12/2023
Arthur Heinrich
Basta executar:
Action:=caFree;
Ao sair do evento, o form se fecha e libera a memória.
Se está fechando os demais, é sinal de que tem algum outro evento sendo tratado e está fechando os demais forms.
28/12/2023
Emanoel Carvalho
Basta executar:
Action:=caFree;
Ao sair do evento, o form se fecha e libera a memória.
Se está fechando os demais, é sinal de que tem algum outro evento sendo tratado e está fechando os demais forms.
Cara eu fui ver e percebi que isso só acontece na versão do delphi11, porem o motivo eu não sei !
Clique aqui para fazer login e interagir na Comunidade :)