Dinamikus létrehozása után a készülék az alkalmazás zapuskm

dinamikus létrehozása után a készülék az alkalmazás zapuskm

A .dpr nem kap fájlokat
(Által kibocsátott fordító hiba)
létrehozásához TTimer
Hogyan kell csinálni a helyes?

felhasználások
# XA0; Forms,
# XA0, a Windows,
# XA0; extctrls,
# XA0; osztályok,
# XA0; unit55 a "D: \ Program Files \ Borland \ Delphi5 \ Bin \ unit55.pas";


eljárás # XA0; # XA0; on_Timer (Sender: TObject);
kezdődik
# XA0; # XA0; # XA0; // felvezető kód
# XA0; # XA0; # XA0; fl: = false;
végén;
var
H: HWND;
tm: TTimer;
fl: logikai;
kezdődik
# XA0; Application.Initialize;
# XA0; fl: = true;
# XA0; tm: = TTimer.Create (Alkalmazás);
# XA0; tm.Interval: = 100;
# XA0; tm.OnTimer: = on_Timer; //<==  [Error] Project1.dpr(24):
# XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; // kompatibilis típusok:
# XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; // módszer mutató és rendes eljárás
# XA0; tm.Enabled: = true;

# XA0; Application.Initialize;
# XA0; Application.CreateForm (TForm1, Form1);
# XA0, míg (fl) do application.ProcessMessages;
# XA0; tm.free;
# XA0; Application.Run;
végén.

1 Miért Application.Initialize kétszer
2 TTimer lehet létrehozni alkalmazása nélkül
3 OnTimer dolzhent lennie (ahogy azt valószínűleg olvasni és áthatotta) folyamatok elemzése, nem szabályos eljárás
4 És a végén minden beleberden, amit írt csökken

Eseménykezelő objektum kizárólag objektum módszer, ahelyett, hogy csak eljárást.

Általánosságban elmondható, hogy nem derül ki a kódot, miért nem csak tesz egy időzítő a fő formája, és kap ugyanaz a dolog, minden gond nélkül. De ha nagyon-nagyon szeretnék, akkor adja meg a leszármazottja TTimer, add hozzá, és hagyjuk OnTimer felvezető kezeli magát.

PS:
1 unit55 - :) horror
2, és minden bizonnyal, amit h: HWND
3 Application.ProcessMessages hogy Application.Run egy jó ötlet!

Meg lehet futtatni egy kis alkalmazás helyett az időzítő,
de nem akarom, hogy

A lényege a következő: Miután Application.CreateForm (TForm1, Form1);
amíg a formák, felmászik a képernyő ablakban
felvezető időzítő kell ölni.
Hmm. Talán könnyebb és nem létrehozni?

h: HWND - persze hogy el kívánja távolítani a folyamat
> Application.ProcessMessages hogy Application.Run hűvös
> Ötlet!
Jobb félni, mint megijedni, mint az apáca mondta.

> Miután Application.CreateForm (TForm1, Form1);
> Amíg a formában a képernyőn feltérképezi ablakban
> Handler időzítő le kell ölni.

Mi az ablakot? Ahol jön ez? Miért ölte meg? És miért kell az időzítő?

> A fentebb idézett, egyesíteni létrehozását az időzítő halad
> OK, de mi a helyzet itt?

Vegye ki az időzítő egységet. Ez lehet ugyanaz, ahol Form1.

Ui
Mielőtt hívja Application.Run időzítő még mindig nem működik.

# XA0; Igen, a koncepció egyszerű Vascha igaz.
Továbbra is csak a külső alkalmazást.

igen, nah időzítőt? zasun FindWindow az ideje? ugyanahhoz az alvás és ProcessMessages - azaz a program megvárja, amíg meg nem jelenik, majd megölöm magam.

Memória: 0,75 MB
Idő: 0.089 c

Kapcsolódó cikkek