fpc/tests/webtbs/tw22320.pp
Jonas Maebe fdbe35aadf * only try to call procvars while choosing overloads in case they don't
require any parameters (mantis )

git-svn-id: trunk@21729 -
2012-06-28 14:41:31 +00:00

74 lines
1.8 KiB
ObjectPascal

program Test;
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
type
TwbSignature = array[0..3] of AnsiChar;
TwbConflictPriority = (
cpIgnore,
cpBenign,
cpTranslate,
cpNormal,
cpCritical,
cpFormID
);
IwbElement = interface
['{F4B4637D-C794-415F-B5C7-587EAA4095B3}']
end;
TwbDontShowCallback = function(const aElement: IwbElement): Boolean;
IwbSubRecordDef = interface
['{D848E426-8768-45F4-B192-4DEFBE34D40A}']
end;
IwbByteArrayDef = interface
['{3069E1AC-4307-421B-93E4-797E18075EF9}']
end;
function wbByteArray(const aName : string = 'Unknown';
aSize : Cardinal = 0;
aPriority : TwbConflictPriority = cpNormal;
aRequired : Boolean = False;
aDontShow : TwbDontShowCallback = nil)
: IwbByteArrayDef; overload;
begin
Result := nil;
end;
function wbByteArray(const aSignature : TwbSignature;
const aName : string = 'Unknown';
aSize : Cardinal = 0;
aPriority : TwbConflictPriority = cpNormal;
aRequired : Boolean = False;
aSizeMatch : Boolean = False;
aDontShow : TwbDontShowCallback = nil)
: IwbSubRecordDef; overload;
begin
Result := nil;
halt(2);
end;
function wbUnknown(aPriority : TwbConflictPriority = cpNormal;
aRequired : Boolean = False;
aDontShow : TwbDontShowCallback = nil)
: IwbByteArrayDef;
begin
Result := wbByteArray('Unknown', 0, aPriority, aRequired, aDontShow);
end;
function cb(const aElement: IwbElement): Boolean;
begin
halt(1);
end;
begin
wbUnknown(cpNormal,False,cb);
end.