mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-22 20:49:19 +02:00
* fixed compile errors
git-svn-id: trunk@1694 -
This commit is contained in:
parent
91324759e4
commit
87846e5986
@ -4,18 +4,19 @@
|
|||||||
|
|
||||||
{$MODE objfpc}
|
{$MODE objfpc}
|
||||||
program asiotest;
|
program asiotest;
|
||||||
uses SysUtils, Classes, Crt, AsyncIO;
|
uses SysUtils, Classes, Crt, FPAsync;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
TASIOTest = class
|
TASIOTest = class
|
||||||
protected
|
protected
|
||||||
FManager: TAsyncIOManager;
|
FManager: Teventloop;
|
||||||
Input: THandleStream;
|
Input: THandleStream;
|
||||||
|
MyTimer : Pointer;
|
||||||
procedure InputAvailable(UserData: TObject);
|
procedure InputAvailable(UserData: TObject);
|
||||||
procedure Timeout(UserData: TObject);
|
procedure TimerHandler(UserData: TObject);
|
||||||
public
|
public
|
||||||
constructor Create(AManager: TAsyncIOManager);
|
constructor Create(AManager: Teventloop);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -33,24 +34,26 @@ begin
|
|||||||
WriteLn('#', b);
|
WriteLn('#', b);
|
||||||
|
|
||||||
case b of
|
case b of
|
||||||
Ord('q'): FManager.BreakRun;
|
Ord('q'): FManager.Break;
|
||||||
Ord('t'): FManager.ClearTimeoutHandler;
|
Ord('t'): begin
|
||||||
|
FManager.RemoveTimerNotify(MyTimer);
|
||||||
|
writeln('Timer stopped');
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TASIOTest.Timeout(UserData: TObject);
|
procedure TASIOTest.TimerHandler(UserData: TObject);
|
||||||
begin
|
begin
|
||||||
WriteLn('Timeout');
|
writeln('Timer');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
constructor TASIOTest.Create(AManager: TAsyncIOManager);
|
constructor TASIOTest.Create(AManager: Teventloop);
|
||||||
begin
|
begin
|
||||||
inherited Create;
|
inherited Create;
|
||||||
FManager := AManager;
|
FManager := AManager;
|
||||||
Input := THandleStream.Create(StdInputHandle);
|
Input := THandleStream.Create(StdInputHandle);
|
||||||
AManager.SetReadHandler(Input.Handle, @InputAvailable, nil);
|
AManager.SetIONotify(Input.Handle, @InputAvailable, nil);
|
||||||
AManager.SetTimeoutHandler(@Timeout, nil);
|
MyTimer:=AManager.AddTimerNotify(1000,true,@TimerHandler,nil);
|
||||||
AManager.Timeout := 1000;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TASIOTest.Destroy;
|
destructor TASIOTest.Destroy;
|
||||||
@ -60,13 +63,13 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
var
|
var
|
||||||
AsyncIOManager: TAsyncIOManager;
|
AsyncIOManager: Teventloop;
|
||||||
app: TASIOTest;
|
app: TASIOTest;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
WriteLn('Exit with "q", use "t" to stop the timeout handler');
|
WriteLn('Exit with "q", use "t" to stop the timer handler');
|
||||||
|
|
||||||
AsyncIOManager := TAsyncIOManager.Create;
|
AsyncIOManager := Teventloop.Create;
|
||||||
app := TASIOTest.Create(AsyncIOManager);
|
app := TASIOTest.Create(AsyncIOManager);
|
||||||
|
|
||||||
AsyncIOManager.Run;
|
AsyncIOManager.Run;
|
||||||
|
@ -14,9 +14,9 @@ Const TypeNames : Array [TTYpeKind] of string[15] =
|
|||||||
('Unknown','Integer','Char','Enumeration',
|
('Unknown','Integer','Char','Enumeration',
|
||||||
'Float','Set','Method','ShortString','LongString',
|
'Float','Set','Method','ShortString','LongString',
|
||||||
'AnsiString','WideString','Variant','Array','Record',
|
'AnsiString','WideString','Variant','Array','Record',
|
||||||
'Interface','Class','Object','WideChar','Bool');
|
'Interface','Class','Object','WideChar','Bool','Int64',
|
||||||
|
'QWord','DynArray','InterfaceRaw');
|
||||||
Const OrdinalTypes = [tkInteger,tkChar,tkENumeration,tkbool];
|
Const OrdinalTypes = [tkInteger,tkChar,tkENumeration,tkbool,tkInt64,tkQWord];
|
||||||
|
|
||||||
Type
|
Type
|
||||||
TMyEnum = (meFirst,meSecond,meThird);
|
TMyEnum = (meFirst,meSecond,meThird);
|
||||||
@ -563,14 +563,14 @@ end;
|
|||||||
|
|
||||||
procedure testserial(O : TComponent);
|
procedure testserial(O : TComponent);
|
||||||
|
|
||||||
Var W : TTextwriter;
|
Var W : Twriter;
|
||||||
S : TStream;
|
S : TStream;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Writeln(stderr,'Creating stream');
|
Writeln(stderr,'Creating stream');
|
||||||
S:=TIOstream.Create(iosOutput);
|
S:=TIOstream.Create(iosOutput);
|
||||||
Writeln(stderr,'Creating TTextWriter');
|
Writeln(stderr,'Creating TTextWriter');
|
||||||
W:=TTextWriter.Create(S);
|
W:=TWriter.Create(S,1024);
|
||||||
Writeln(stderr,'Writing component TTextWriter');
|
Writeln(stderr,'Writing component TTextWriter');
|
||||||
W.WriteComponent(O);
|
W.WriteComponent(O);
|
||||||
Writeln(stderr,'Destroying stream');
|
Writeln(stderr,'Destroying stream');
|
||||||
|
Loading…
Reference in New Issue
Block a user