summaryrefslogtreecommitdiff
path: root/fpcsrc/tests/tbs/tb0479.pp
blob: de60a57c3dc92a38cd8e37ae463feccba416b525 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{$mode delphi}

var
  err : boolean;

Type
  {copy-paste from LibX.pas}
  XInt                           = Longint;
  XUInt                          = Longword;
  XHandle                        = Pointer;
  XFile                          = XHandle;
  XFileMode                      = Set Of (
    xFileModeRead,
    xFileModeWrite
  );
  XResult                        = XInt;

Type
  TTest = Class(TObject)
    Constructor Create(Out Result: XResult; Const Handle: XFile; Const Mode: XFileMode);
  End;

  TTest2 = Class(TTest)
    Constructor Create(Out Result: XResult; Const FileName: AnsiString; Const Rights: XUInt); Overload;
    Constructor Create(Out Result: XResult; Const FileName: AnsiString; Const Mode: XFileMode); Overload;
  End;

Constructor TTest.Create(Out Result: XResult; Const Handle: XFile; Const Mode: XFileMode);
Begin
  WriteLn('TTest Create');
End;

Constructor TTest2.Create(Out Result: XResult; Const FileName: AnsiString; Const Rights: XUInt);
Begin
  WriteLn('TTest2-1 Create');
End;

Constructor TTest2.Create(Out Result: XResult; Const FileName: AnsiString; Const Mode: XFileMode);
Begin
  WriteLn('TTest2-2 Create');
  err:=false;
End;

Var
  T : TTest;
  C : PAnsiChar;
  X : XResult;
  M : XFileMode;
Begin
  err:=true;
  C := 'Foo';
  T := TTest2.Create(X, C, M);
  if err then
    halt(1);
End.