Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Mais uma vez, nessa hora de precisão, venho pedir socorro pra vcs do forum!
Estou tentando executar uma função no OnExit do Edit, que pega o seu valor e guarda-o em uma variavel por exemplo.
Porem o parametro Sender esta retornando como "()" pra mim, e nao com o nome do componente.
Exemplo do meu codigo:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, LMDCustomControl, LMDCustomPanel,
LMDCustomBevelPanel, LMDBaseEdit, LMDCustomEdit, LMDEdit;
type
TLMDEdit = class(LMDEdit.TLMDEdit);
TFrmEtiqueta = class(TForm)
LMDEdit1: TLMDEdit;
procedure LMDEdit1Exit(Sender: TObject);
procedure Teste(Sender: TObject; tipo: string);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmEtiqueta: TFrmEtiqueta;
implementation
uses Unit2;
{$R *.dfm}
procedure TFrmEtiqueta.Teste(Sender: TObject; tipo: string);
begin
If Sender.ClassType = TLMDEdit then
begin
if tipo = 'S' then
TLMDEdit(Sender).Color:=clRed;
end
else
begin
TLMDEdit(Sender).Color:=clWindow;
end;
end;
procedure TFrmEtiqueta.LMDEdit1Exit(Sender: TObject);Teste(Sender as TLMDEdit,'S');
end;
end.
Ele passa pela parte "If Sender.ClassType = TLMDEdit then" normalmente, mas na hora do: "TLMDEdit(Sender).Color:=clRed;" ele nao altera cor nenhuma no Edit (e pior que nao da erro algum).
Ae eu verifico o valor do Sender, e ele mostra "()".
Onde estou errando nesse codigo?
Bom, agradeço desde já a todos pela atenção.
Abraço e até mais!
Carregando comentários...