mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 07:47:58 +02:00
74 lines
1.8 KiB
ObjectPascal
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.
|