PASCAL - BLRPLT.ZIP - DLGSKEL.DAT

 
Output of file : DLGSKEL.DAT contained in archive : BLRPLT.ZIP

{Substitutions and fills
Area Fills, must be in position 1
@ZZ0 Generic 'Control' variable
@ZZ1 Defined Control Names in Object Def.
@ZZ2 Transfer record def
@ZZ3 Include file and Const definitions
@ZZ4 Method definitions
@ZZ5 InitResources
@ZZ6 Methods
@ZZ7 Code to skip if no Transfer record
@ZZ8 Code to skip if no Exec Procedure name
@ZZ9 End of these comments

Substitutions
@XX0 Dialog's Pointer (as PMyDialog)
@XX1 Dialog's Object Name (as TMyDialog)
@XX2 Dialog's ancestor (usually TDialog)
@XX3 Dialog's identfier (PChar(WindowMsgDlg) or just WindowMsgDlg)
@XX4 Unit name
@XX5 Transfer Rec type name
@XX6 ExecProc Name
@XX7 BWCC and other Unit Names

}
@ZZ9
Unit @XX4;

Interface
uses
WinTypes, WinProcs,
{$ifdef VER70}
Objects, OWindows, ODialogs, Strings, OStdDlgs, OStdWnds, Validate,
{$else}
WObjects, Strings, StdDlgs, StdWnds,
{$endif}
@XX7WinDos;

@ZZ3

type
@ZZ2

@XX0 = ^@XX1;
@XX1 = Object(@XX2)
@ZZ1

constructor Init(AParent : PWindowsObject);
@ZZ4
end;

@ZZ8
function @XX6(Parent : PWindowsObject) : boolean;

@ZZ8
Implementation

{[email protected]}
constructor @XX1.Init(AParent : PWindowsObject);
@ZZ0
begin
@XX2.Init(AParent, @XX3);

@ZZ5
end;

@ZZ6

@ZZ8
{[email protected]}
function @XX6(Parent : PWindowsObject) : boolean;
var
@ZZ7
Transfer : @XX5;
@ZZ7
P : @XX0;
Result : Word;

begin
P := New(@XX0, Init(Parent));
@ZZ7
P^.TransferBuffer := @Transfer;
with Transfer do
begin
{Fill in Transfer record}
FillChar(Transfer, Sizeof(Transfer), 0);
end;
@ZZ7
Result := Application^.ExecDialog(P);
if Result = idOK then
@ZZ7
with Transfer do
@ZZ7
begin
{Do something with results}
end;
@XX6 := Result = idOK;
end;

@ZZ8
end.