TTimer w aplikacji konsolowej

0

Witam!
Tworzę aplikację-serwer jako aplikację konsolową. Potrzebny mi jest w programie Timer, jednak, gdy Timer ma przypisaną procedurę na "OnTimer" i próbuję go włączyć to wyskakuje błąd "Access violation" w odniesieniu do Sender'a.
Próbowałem zmieniać mu właścicieli, ale otrzymuję ten sam błąd.
Jak mogę sobie z tym poradzić? Dodam, że w ten sam sposób dodałem Timera do aplikacji okienkowej i nie ma problemów.

0

Wszystkie wróżki wyjechały z Polski... bez kodu nikt nie zgadnie.

0

ja sprobuje :)

albo tak

http://4programmers.net/Forum/381450#id381450

albo

program Project1;

uses
  Windows, extctrls, forms;

{$R *.res}
{$APPTYPE CONSOLE}

type
  TTimerClass = class
  public
    procedure TEv(Sender: TObject);
  end;

procedure TTimerClass.TEv(Sender: TObject);
begin
  WriteLn('heloooooo');
end;

var
  T:TTimer;
  TC:TTimerClass;
  i:integer;
begin
   T := TTimer.Create(nil);

   T.Interval := 200;
   T.Enabled := true;


   TC := TTimerClass.Create();
   T.OnTimer := TC.TEv;


   //trzeba dac sznse dzialac timerowi albo inny watek
   for i := 0 to 1000000000 do Application.ProcessMessages();


   T.Enabled := false;
   T.Free;
   TC.Free;

end.

0

W Delphi zadziałało, w Lazarusie już nie :(
A muszę w Lazarusie, bo program ma być pod Linuxa.

Jakieś inne koncepcje?

0

\lazarus\fpc\2.2.2\source\packages\fcl-base\examples\testtimer.pp

i robi co chesz ....

0

Ok póki co śmiga, dzięki za pomoc ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1