Ir ao conteúdo

como liberar um form da memória depois de executado..


Visitante: mauricionicoli

Posts recomendados

Visitante: mauricionicoli
 
Postado

Olá pessoal, desde já agradeço a todos que puderem ou tentarem me ajudar..

Uso delphi 7

Tenho um form login o qual chamo frmprincipal ok

O sistema não está pronto ainda mas está rodando sem erros até aqui..

A questão é que quando, no form login, o código de verificação é valido

o sistema abre outro form, o qual chamo formmenu. Quando eu clico em

sair no frmmenu o frmlogin ainda está lá em execução. Sei que preciso usar

os comandos try e finally, só que não sei onde colocar isso aqui. Ou se os amigos souberem outra forma também agradeço. Segue a unit do formlogin..


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, StdCtrls;

type
Tfrmprincipal = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
btnconfirmar: TButton;
btnsair: TButton;
procedure btnconfirmarClick(Sender: TObject);
procedure btnsairClick(Sender: TObject);
private
{ Private declarations }

public
{ Public declarations }
end;

var
frmprincipal: Tfrmprincipal;

implementation

uses Unit3, Unit2;

{$R *.dfm}

procedure Tfrmprincipal.btnconfirmarClick(Sender: TObject);
begin
if (edit1.Text = '') then //Verifica se o campo "Usuário" foi preenchido

begin

Messagedlg('O campo "Usuário" deve ser preenchido!', mtInformation, [mbOk], 0);

if edit1.CanFocus then

edit1.SetFocus;

Exit;

end;

if (edit2.Text = '') then //Verifica se o campo "Senha" foi preenchido

begin

Messagedlg('O campo "Senha" deve ser preenchido!', mtInformation, [mbOk], 0);

if edit2.CanFocus then

edit2.SetFocus;

Exit;

end
else
begin
with DM.ADOQuery do
begin
Active:=False;
SQL.Clear;
SQL.Add('Select * from administrador where usuario =:log and senha =:snh');
Parameters.ParamByName('log').Value:=edit1.Text;
Parameters.ParamByName('snh').Value:=edit2.Text;
Active:=True;
//================================================
if RecordCount > 0 then
frmmenu.ShowModal
else
ShowMessage('Login ou Senha incorretos, verifique!');
end;
end;
end;

procedure Tfrmprincipal.btnsairClick(Sender: TObject);
begin
close;
end;

end.

Postado

Coloque no onclose do formulario:

action := cafree;

Osso libera o form da memoria, é a melhor maneira de tirar um formulário da memoria destruindo ele.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!