mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
UPD: [DialogAPI] Use LongBool as boolean in callbacks functions for better C and other plugins compability
This commit is contained in:
parent
c3a529769e
commit
c27d6fde5a
3 changed files with 19 additions and 20 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue