TApplicationProperties --> Idle

Rund um die LCL und andere Komponenten
Antworten
hpt
Beiträge: 48
Registriert: Sa 26. Jul 2014, 18:45
OS, Lazarus, FPC: Lazarus
CPU-Target: 32Bit

TApplicationProperties --> Idle

Beitrag von hpt »

Wie wird "Idle" in Application Properties richtig eingesetzt und was bewirkt es wirklich? Dieses Ereignis ist schlecht dokumentiert und ein kleines Beispiel würde zur Veranschaulichung sehr gut sein! Z.B. wenn man eine Taste mit Idle abfrägt oder so ähnlich....
Danke schon mal für eure Hilfe.

Benutzeravatar
theo
Beiträge: 11030
Registriert: Mo 11. Sep 2006, 19:01

Re: TApplicationProperties --> Idle

Beitrag von theo »

Meinst du OnIdle?
Ein Ereignis "bewirkt" eigentlich nichts, ausser dass es dir Bescheid gibt, dass etwas passiert ist.

Vllt. verstehe ich dich auch falsch.

Joz
Beiträge: 40
Registriert: Mo 27. Mai 2013, 13:16
OS, Lazarus, FPC: Arch Linux, OpenSuse 13.2, Lazarus 1.4
CPU-Target: AMD64
Wohnort: Berlin

Re: TApplicationProperties --> Idle

Beitrag von Joz »

Du kannst mit OnIdle eher keine Tasten abfragen, aber dafür Game-Loops erstellen:

Code: Alles auswählen

 
interface
type
TForm = class
…
  procedure AppOnIdle(Sender:TObject; var Done: Boolean);
end;
 
implementation
 
procedure TForm1.OnCreate(Sender);
begin
  …
  Application.OnIdle := @AppOnIdle;
end;
 
procedure TForm1.AppOnIdle(…);
begin
  AdvanceGameWorld; { Ir- }
  RenderBuffer;     { gend- }
  Invalidate;       { was }
 
  Done := false; { Falls die Prozedur nochmal aufgerufen werden soll }
end;
 
 
Es gibt glaube ich auch irgendeine LCL-Komponente mit diesem Ereignis.

hpt
Beiträge: 48
Registriert: Sa 26. Jul 2014, 18:45
OS, Lazarus, FPC: Lazarus
CPU-Target: 32Bit

Re: TApplicationProperties --> Idle

Beitrag von hpt »

Danke an beide Stellung - Nahmen.
Zu Joz :
Oh doch – siehe unter → http://wiki.freepascal.org/Lazarus_on_Raspberry_Pi/de → "Den Status eines Anschlusses lesen".
Leider ist über Details nicht viel zu erfahren....würde mich aber in diesem Zusammenhang interessieren, deshalb auch die Frage!
Danke nochmal und auch Bitte für weitere Infos.

Antworten