Avatar billede brian0905 Nybegynder
06. januar 2004 - 20:14 Der er 3 kommentarer og
1 løsning

Hvordan laver man en Idle procedure

Jeg er ny til Delphi og er ved at kigge på en Idle procedure i Delphi 6. Hvordan erklærer man den? og hvordan sætter man det til at blive eksekveret, jeg har følgende kode:

Erklæring:
procedure Idle(Sender:TObject; var Done:Boolean) ;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  context:=SetupContext(Form1);
  Application.OnIdle := Idle;
end;

og her kommer fejlbeskeden:

[Error] Unit1.pas(109): Incompatible types: 'method pointer and regular procedure'
Avatar billede martinlind Nybegynder
06. januar 2004 - 20:20 #1
Application.OnIdle er en event du kan bruge
Avatar billede Slettet bruger
06. januar 2004 - 20:27 #2
Du skal have:

procedure Idle(Sender:TObject; var Done:Boolean);

ind under TForm1 = class(TForm):

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    ...
    procedure Idle(Sender:TObject; var Done:Boolean);
  private
    { Private declarations }
  public
...

procedure TForm1.Idle(Sender:TObject; var Done:Boolean);
begin

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnIdle := Idle;
end;
Avatar billede brian0905 Nybegynder
06. januar 2004 - 20:28 #3
Det jeg vil opnå er at når min Applikation går idle skal den udføre idle proceduren, der så gentegner.

procedure Idle(Sender : TObject; var Done : Boolean);
begin
  Done := False;
  Form1.FormPaint(nil);
end;
Avatar billede brian0905 Nybegynder
06. januar 2004 - 20:30 #4
Det hjalp, takker....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester