UPD: [DialogAPI] Use LongBool as boolean in callbacks functions for better C and other plugins compability

This commit is contained in:
Alexander Koblov 2010-05-15 08:26:28 +00:00
commit c27d6fde5a
3 changed files with 19 additions and 20 deletions

View file

@ -56,12 +56,11 @@
/* Dialog window callback function */
typedef intptr_t (__stdcall *tDlgProc)(uintptr_t pDlg, char* DlgItemName, intptr_t Msg, intptr_t wParam, intptr_t lParam);
/* Definition of callback functions called by the DLL */
typedef char (__stdcall *tInputBoxProc)(WCHAR* Caption, WCHAR* Prompt, char MaskInput, WCHAR* Value, int ValueMaxLen);
typedef BOOL (__stdcall *tInputBoxProc)(WCHAR* Caption, WCHAR* Prompt, BOOL MaskInput, WCHAR* Value, int ValueMaxLen);
typedef int (__stdcall *tMessageBoxProc)(WCHAR* Text, WCHAR* Caption, long Flags);
typedef char (__stdcall *tDialogBoxLFMProc)(intptr_t LFMData, unsigned long DataSize, tDlgProc DlgProc);
typedef char (__stdcall *tDialogBoxLRSProc)(intptr_t LRSData, unsigned long DataSize, tDlgProc DlgProc);
typedef char (__stdcall *tDialogBoxLFMFileProc)(WCHAR* LFMFileName, tDlgProc DlgProc);
/* char is the proper substitution for pascal boolean, 0xff is true, 0x00 is false */
typedef BOOL (__stdcall *tDialogBoxLFMProc)(intptr_t LFMData, unsigned long DataSize, tDlgProc DlgProc);
typedef BOOL (__stdcall *tDialogBoxLRSProc)(intptr_t LRSData, unsigned long DataSize, tDlgProc DlgProc);
typedef BOOL (__stdcall *tDialogBoxLFMFileProc)(WCHAR* LFMFileName, tDlgProc DlgProc);
#pragma pack(push)

View file

@ -61,11 +61,11 @@ type
{ Dialog window callback function }
TDlgProc = function(pDlg: PtrUInt; DlgItemName: PChar; Msg, wParam, lParam: PtrInt): PtrInt; stdcall;
{ Definition of callback functions called by the DLL }
TInputBoxProc = function(Caption, Prompt: PWideChar; MaskInput: Boolean; Value: PWideChar; ValueMaxLen: Integer): Boolean; stdcall;
TInputBoxProc = function(Caption, Prompt: PWideChar; MaskInput: LongBool; Value: PWideChar; ValueMaxLen: Integer): LongBool; stdcall;
TMessageBoxProc = function(Text, Caption: PWideChar; Flags: Longint): Integer; stdcall;
TDialogBoxLFMProc = function(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): Boolean; stdcall;
TDialogBoxLRSProc = function(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): Boolean; stdcall;
TDialogBoxLFMFileProc = function(lfmFileName: PWideChar; DlgProc: TDlgProc): Boolean; stdcall;
TDialogBoxLFMProc = function(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; stdcall;
TDialogBoxLRSProc = function(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; stdcall;
TDialogBoxLFMFileProc = function(lfmFileName: PWideChar; DlgProc: TDlgProc): LongBool; stdcall;
type
TSetDlgProcInfo = packed record
@ -91,4 +91,4 @@ procedure SetDlgProc(var SetDlgProcInfo: TSetDlgProcInfo);stdcall;
}
end.

View file

@ -82,11 +82,11 @@ type
{ public declarations }
end;
function InputBox(Caption, Prompt: PWideChar; MaskInput: Boolean; Value: PWideChar; ValueMaxLen: Integer): Boolean; stdcall;
function InputBox(Caption, Prompt: PWideChar; MaskInput: LongBool; Value: PWideChar; ValueMaxLen: Integer): LongBool; stdcall;
function MessageBox(Text, Caption: PWideChar; Flags: Longint): Integer; stdcall;
function DialogBoxLFM(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): Boolean; stdcall;
function DialogBoxLRS(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): Boolean; stdcall;
function DialogBoxLFMFile(lfmFileName: PWideChar; DlgProc: TDlgProc): Boolean; stdcall;
function DialogBoxLFM(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; stdcall;
function DialogBoxLRS(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; stdcall;
function DialogBoxLFMFile(lfmFileName: PWideChar; DlgProc: TDlgProc): LongBool; stdcall;
function SendDlgMsg(pDlg: PtrUInt; DlgItemName: PChar; Msg, wParam, lParam: PtrInt): PtrInt; stdcall;
implementation
@ -94,7 +94,7 @@ implementation
uses
uShowMsg, uClassesEx, uDCUtils;
function InputBox(Caption, Prompt: PWideChar; MaskInput: Boolean; Value: PWideChar; ValueMaxLen: Integer): Boolean; stdcall;
function InputBox(Caption, Prompt: PWideChar; MaskInput: LongBool; Value: PWideChar; ValueMaxLen: Integer): LongBool; stdcall;
var
sCaption,
sPrompt,
@ -150,7 +150,7 @@ begin
end;
end;
function DialogBox(DlgProc: TDlgProc): Boolean;
function DialogBox(DlgProc: TDlgProc): LongBool;
var
Dialog: TDialogBox = nil;
begin
@ -167,7 +167,7 @@ begin
end;
end;
function DialogBoxLFM(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): Boolean;stdcall;
function DialogBoxLFM(LFMData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool;stdcall;
var
DataString: UTF8String;
begin
@ -181,7 +181,7 @@ begin
Result := False;
end;
function DialogBoxLRS(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): Boolean; stdcall;
function DialogBoxLRS(LRSData: Pointer; DataSize: LongWord; DlgProc: TDlgProc): LongBool; stdcall;
var
DataString: UTF8String;
begin
@ -195,7 +195,7 @@ begin
Result := False;
end;
function DialogBoxLFMFile(lfmFileName: PWideChar; DlgProc: TDlgProc): Boolean;stdcall;
function DialogBoxLFMFile(lfmFileName: PWideChar; DlgProc: TDlgProc): LongBool;stdcall;
var
lfmStringList: TStringListEx;
begin
@ -691,4 +691,4 @@ initialization
{.$I fdialogbox.lrs}
end.