TNotifyEvent dentro de Método é possível??

Delphi

25/08/2015

Bom dia galera...
eu estou tentando fazer um form dinâmico, mas nesse form tem um timer, e o evento desse timer modifica um label...
tem como colocar o ontimer dentro do metodo...exemplo:
Function ShowDialogwithHourWin8(dtHora: tDateTime): string;
var
  Frm: TForm;
  lblTitulo, lblData, lblDesc: TLabel;
  txtMinutos: tSpinEdit;
  tMinutos: TTimer;
  btnOk, btnCancelar: TButton;
  ACBrEnterTab1: TACBrEnterTab;
  xHora: String;
  procedure tMinutoTimer(Sender : TObject);
  begin
    lblData.Caption := FormatDateTime('hh:MM:ss', dtHora);
  end;
begin
  result := '';
  if FormDefaultVcl = nil then FormDefaultVcl := TFormDefaultVcl.Create(nil);
  Frm := TForm.Create(nil);
  try
    Frm.Left := 0;
    Frm.Top := 0;
    Frm.BorderStyle := bsNone;
    Frm.Caption := '';
    Frm.ClientHeight := 282;
    Frm.ClientWidth := Screen.Width;
    Frm.Color := $00431BB9;
    Frm.Font.Charset := DEFAULT_CHARSET;
    Frm.Font.Color := clWhite;
    Frm.Font.Height := -27;
    Frm.Font.Name := 'Segoe UI';
    Frm.Font.Size := 20;
    Frm.OldCreateOrder := False;
    Frm.Position := poScreenCenter;
    lblTitulo := TLabel.Create(Frm);
    lblData := TLabel.Create(Frm);
    lblDesc := TLabel.Create(Frm);
    txtMinutos := tSpinEdit.Create(Frm);
    tMinutos := TTimer.Create(Frm);
    btnOk := TButton.Create(Frm);
    btnCancelar := TButton.Create(Frm);
    ACBrEnterTab1 := TACBrEnterTab.Create(Frm);

    ACBrEnterTab1.EnterAsTab := True;

    lblTitulo.Parent := Frm;
    lblTitulo.Left := 32;
    lblTitulo.Top := 31;
    lblTitulo.Height := 37;
    lblTitulo.Caption := 'Ajustar hora do ECF (Variação de apenas 5 minutos)';
    lblTitulo.Anchors := [akLeft, akTop];

    lblDesc.Parent := Frm;
    lblDesc.Left := 103;
    lblDesc.Top := 155;
    lblDesc.Height := 37;
    lblDesc.Caption := 'Minutos.';
    lblDesc.Anchors := [akLeft, akTop];

    txtMinutos.Parent := Frm;
    txtMinutos.Left := 32;
    txtMinutos.Top := 142;
    txtMinutos.Width := 73;
    txtMinutos.Height := 47;
    txtMinutos.Anchors := [akLeft, akTop];
    txtMinutos.Font.Color := $001A1A1A;
    txtMinutos.TabOrder := 0;
    txtMinutos.Text := '0';
    txtMinutos.MaxValue := 5;
    txtMinutos.MinValue := -5;
    txtMinutos.Increment := 1;

    tMinutos.Enabled := true;
    tMinutos.Interval := 1000;
    tMinutos.OnTimer := tMinutoTimer;

    lblData.Parent := Frm;
    lblData.Left := 32;
    lblData.Top := 82;
    lblData.Height := 54;
    lblData.Font.Size := 30;
    lblData.Caption := xHora;
    lblData.Anchors := [akLeft, akTop];

    btnOk.Parent := Frm;
    btnOk.Left := Screen.Width - 282;
    btnOk.Top := 230;
    btnOk.Width := 120;
    btnOk.Height := 37;
    btnOk.Anchors := [akRight, akBottom];
    btnOk.Caption := '';
    btnOk.ImageAlignment := iaCenter;
    btnOk.ImageIndex := 0;
    btnOk.TabOrder := 1;
    btnOk.Images := FormDefaultVcl.imgDgValorWin8;
    btnOk.ModalResult := mrOk;
    btnOk.HotImageIndex := 1;
    btnOk.SelectedImageIndex := 1;

    btnCancelar.Parent := Frm;
    btnCancelar.Left := Screen.Width - 138;
    btnCancelar.Top := 230;
    btnCancelar.Width := 120;
    btnCancelar.Height := 37;
    btnCancelar.Anchors := [akRight, akBottom];
    btnCancelar.Caption := '';
    btnCancelar.ImageAlignment := iaCenter;
    btnCancelar.ImageIndex := 2;
    btnCancelar.TabOrder := 2;
    btnCancelar.Images := FormDefaultVcl.imgDgValorWin8;
    btnCancelar.ModalResult := mrCancel;
    btnCancelar.HotImageIndex := 3;
    btnCancelar.SelectedImageIndex := 3;

    Frm.ActiveControl := txtMinutos;
    Frm.BringToFront;
    if Frm.ShowModal = mrOk then
      result := txtMinutos.Text
    else
      result := '';
  finally
    Frm.Free;
    FormDefaultVcl.Release;
    FormDefaultVcl := nil;
  end;
end;
Adhemar Alves

Adhemar Alves

Curtidas 0

Respostas

Adhemar Alves

Adhemar Alves

25/08/2015

ele dá esse erro
[dcc32 Error] uFormvclClass.pas(1417): E2009 Incompatible types: 'method pointer and regular procedure'
GOSTEI 0
POSTAR