chore(windows): Revert "fix(windows): strtoint for command line basekeyboardid"

This reverts commit 155b8e15ed.
This commit is contained in:
rc-swag 2026-09-03 17:29:51 +10:00
parent c3160944e5
commit 5e89946c00
3 changed files with 109 additions and 252 deletions

View file

@ -264,7 +264,7 @@ begin
else if s = '-bd' then FMode := fmBackgroundDownload
else if s = '-an' then FMode := fmApplyInstallNow
else if s = '-basekeyboard' then FMode := fmBaseKeyboard // I4169
else if s = 'bkd' then begin Inc(i); FBaseKeyboard := StrToInt('$' + ParamStr(i)); end
else if s = 'bkd' then begin Inc(i); FBaseKeyboard := ParamStr(i); end
else if s = '-mcompilekbds' then
begin
FMode := fmMCompileKbds;

View file

@ -12,7 +12,7 @@ unit keymanapi_TLB;
// ************************************************************************ //
// $Rev: 52393 $
// File generated on 31/08/2026 5:28:13 PM from Type Library described below.
// File generated on 16/09/2021 6:54:44 PM from Type Library described below.
// ************************************************************************ //
// Type Lib: C:\Projects\keyman\app\windows\src\engine\kmcomapi\kmcomapi (1)
@ -87,16 +87,11 @@ const
IID_IKeymanKeyboardLanguagesInstalled: TGUID = '{7DC22BC0-85BB-45C0-8EDB-A2F4BD1D500B}';
IID_IKeymanKeyboardLanguagesFile: TGUID = '{5F90BCDA-F1C1-433A-8FD0-B498299D3C30}';
IID_IKeymanKeyboardsInstalled2: TGUID = '{EA57C94F-C140-485E-941A-3F1D5A229024}';
IID_IKeymanKeyboardInstalled2: TGUID = '{3086C85C-932A-4726-BF76-2D74DD133AC9}';
IID_IKeymanPackagesInstalled2: TGUID = '{F23B9848-2AEF-4A2B-BC3A-292E3A00D691}';
IID_IKeymanKeyboardFile2: TGUID = '{EDE4326B-51F4-42D5-8251-B20B71993EC8}';
IID_IKeymanPackageFile2: TGUID = '{9B43B6BC-C622-47EF-915E-6780CF53BAAA}';
IID_IKeymanKeyboardLanguageInstalled2: TGUID = '{414C26E6-BFAC-4A70-9EA1-E525BA9BBA7E}';
IID_IKeymanKeyboardLanguagesInstalled2: TGUID = '{628FF2E6-B490-462E-8FC7-7AE53B9D392C}';
IID_IKeymanKeyboardFile3: TGUID = '{8F4B2D91-6C37-4A05-BE82-1D9F7C53A6E4}';
IID_IKeymanPackageFile3: TGUID = '{C27A6E4B-9D13-47F8-A052-6B8E31D4F9C7}';
IID_IKeymanKeyboardsInstalled3: TGUID = '{B7D3A8F1-6C42-4E95-AB17-93F0C2D8E641}';
IID_IKeymanPackagesInstalled3: TGUID = '{3F8C2D71-94A6-4B0E-87D5-C1E3A9F62458}';
CLASS_Keyman: TGUID = '{CF46549D-4D2D-4679-A2E1-23A815F172F8}';
IID_IKeymanDefaultLanguage: TGUID = '{77BAB934-B7DF-4304-AFA6-B8F6BEC16516}';
@ -253,8 +248,6 @@ type
IKeymanKeyboardLanguagesFileDisp = dispinterface;
IKeymanKeyboardsInstalled2 = interface;
IKeymanKeyboardsInstalled2Disp = dispinterface;
IKeymanKeyboardInstalled2 = interface;
IKeymanKeyboardInstalled2Disp = dispinterface;
IKeymanPackagesInstalled2 = interface;
IKeymanPackagesInstalled2Disp = dispinterface;
IKeymanKeyboardFile2 = interface;
@ -265,14 +258,6 @@ type
IKeymanKeyboardLanguageInstalled2Disp = dispinterface;
IKeymanKeyboardLanguagesInstalled2 = interface;
IKeymanKeyboardLanguagesInstalled2Disp = dispinterface;
IKeymanKeyboardFile3 = interface;
IKeymanKeyboardFile3Disp = dispinterface;
IKeymanPackageFile3 = interface;
IKeymanPackageFile3Disp = dispinterface;
IKeymanKeyboardsInstalled3 = interface;
IKeymanKeyboardsInstalled3Disp = dispinterface;
IKeymanPackagesInstalled3 = interface;
IKeymanPackagesInstalled3Disp = dispinterface;
IKeymanDefaultLanguage = interface;
IKeymanDefaultLanguageDisp = dispinterface;
@ -1584,6 +1569,27 @@ type
procedure RefreshInstalledKeyboards; safecall;
end;
// *********************************************************************//
// Interface: IKeymanKeyboardsInstalled3
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {B7D3A8F1-6C42-4E95-AB17-93F0C2D8E641}
// *********************************************************************//
IKeymanKeyboardsInstalled3 = interface(IKeymanKeyboardsInstalled)
['{B7D3A8F1-6C42-4E95-AB17-93F0C2D8E641}']
function Install3(const Filename: WideString; Force: WordBool; BasePackageID: Integer): IKeymanKeyboardInstalled; safecall;
procedure RefreshInstalledKeyboards; safecall;
end;
// *********************************************************************//
// Interface: IKeymanKeyboardInstalled2
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {3086C85C-932A-4726-BF76-2D74DD133AC9}
// *********************************************************************//
IKeymanKeyboardInstalled2 = interface(IKeymanKeyboardInstalled)
['{3086C85C-932A-4726-BF76-2D74DD133AC9}']
procedure MCompileForBaseKeyboard(KLID: Integer); safecall;
end;
// *********************************************************************//
// DispIntf: IKeymanKeyboardsInstalled2Disp
// Flags: (4416) Dual OleAutomation Dispatchable
@ -1605,51 +1611,6 @@ type
out References: OleVariant): WideString; dispid 401;
end;
// *********************************************************************//
// Interface: IKeymanKeyboardInstalled2
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {3086C85C-932A-4726-BF76-2D74DD133AC9}
// *********************************************************************//
IKeymanKeyboardInstalled2 = interface(IKeymanKeyboardInstalled)
['{3086C85C-932A-4726-BF76-2D74DD133AC9}']
procedure MCompileForBaseKeyboard(KLID: Integer); safecall;
end;
// *********************************************************************//
// DispIntf: IKeymanKeyboardInstalled2Disp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {3086C85C-932A-4726-BF76-2D74DD133AC9}
// *********************************************************************//
IKeymanKeyboardInstalled2Disp = dispinterface
['{3086C85C-932A-4726-BF76-2D74DD133AC9}']
procedure MCompileForBaseKeyboard(KLID: Integer); dispid 288;
property IconFilename: WideString readonly dispid 257;
procedure InstallVisualKeyboard(const Filename: WideString); dispid 258;
property KeymanID: Integer readonly dispid 259;
property Languages: IKeymanKeyboardLanguagesInstalled readonly dispid 260;
property Loaded: WordBool dispid 261;
property Options: IKeymanKeyboardOptions readonly dispid 262;
property OwnerPackage: IKeymanPackageInstalled readonly dispid 263;
property VisualKeyboard: IKeymanVisualKeyboard readonly dispid 264;
procedure Uninstall; dispid 265;
property Bitmap: IPicture readonly dispid 1;
property Copyright: WideString readonly dispid 2;
property DefaultBCP47Languages: WideString readonly dispid 3;
property DefaultPrimaryLanguage: Integer readonly dispid 4;
property DefaultWindowsLanguages: WideString readonly dispid 5;
property DefaultHotkey: IKeymanHotkey readonly dispid 6;
property Encodings: KeymanKeyboardEncodings readonly dispid 7;
property Filename: WideString readonly dispid 8;
function GetCharsUsed: WideString; dispid 9;
property ID: WideString readonly dispid 10;
property LayoutType: KeymanKeyboardLayoutType readonly dispid 11;
property Message: WideString readonly dispid 12;
property Name: WideString readonly dispid 13;
property Version: WideString readonly dispid 14;
function SerializeXML(Flags: tagKeymanSerializeFlags; const ImagePath: WideString;
out References: OleVariant): WideString; dispid 401;
end;
// *********************************************************************//
// Interface: IKeymanPackagesInstalled2
// Flags: (4416) Dual OleAutomation Dispatchable
@ -1660,6 +1621,16 @@ type
function Install2(const Filename: WideString; Force: WordBool): IKeymanPackageInstalled; safecall;
end;
// *********************************************************************//
// Interface: IKeymanPackagesInstalled3
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {3F8C2D71-94A6-4B0E-87D5-C1E3A9F62458}
// *********************************************************************//
IKeymanPackagesInstalled3 = interface(IKeymanPackagesInstalled)
['{3F8C2D71-94A6-4B0E-87D5-C1E3A9F62458}']
function Install3(const Filename: WideString; Force: WordBool; BasePackageID: Integer): IKeymanPackageInstalled; safecall;
end;
// *********************************************************************//
// DispIntf: IKeymanPackagesInstalled2Disp
// Flags: (4416) Dual OleAutomation Dispatchable
@ -1689,6 +1660,16 @@ type
function Install2(Force: WordBool): IKeymanKeyboardInstalled; safecall;
end;
// *********************************************************************//
// Interface: IKeymanKeyboardFile3
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {EDE4326B-51F4-42D5-8251-B20B71993EC8}
// *********************************************************************//
IKeymanKeyboardFile3 = interface(IKeymanKeyboardFile)
['{8F4B2D91-6C37-4A05-BE82-1D9F7C53A6E4}']
function Install3(Force: WordBool; BaseKeyboardID: Integer): IKeymanKeyboardInstalled; safecall;
end;
// *********************************************************************//
// DispIntf: IKeymanKeyboardFile2Disp
// Flags: (4416) Dual OleAutomation Dispatchable
@ -1727,6 +1708,17 @@ type
function Install2(Force: WordBool): IKeymanPackageInstalled; safecall;
end;
// *********************************************************************//
// Interface: IKeymanPackageFile3
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {C27A6E4B-9D13-47F8-A052-6B8E31D4F9C7}
// *********************************************************************//
IKeymanPackageFile3 = interface(IKeymanPackageFile)
['{C27A6E4B-9D13-47F8-A052-6B8E31D4F9C7}']
function Install3(Force: WordBool; BaseKeyboardID: Integer): IKeymanPackageInstalled; safecall;
end;
// *********************************************************************//
// DispIntf: IKeymanPackageFile2Disp
// Flags: (4416) Dual OleAutomation Dispatchable
@ -1828,143 +1820,6 @@ type
out References: OleVariant): WideString; dispid 401;
end;
// *********************************************************************//
// Interface: IKeymanKeyboardFile3
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {8F4B2D91-6C37-4A05-BE82-1D9F7C53A6E4}
// *********************************************************************//
IKeymanKeyboardFile3 = interface(IKeymanKeyboardFile)
['{8F4B2D91-6C37-4A05-BE82-1D9F7C53A6E4}']
function Install3(Force: WordBool; BaseKeyboardID: Integer): IKeymanKeyboardInstalled; safecall;
end;
// *********************************************************************//
// DispIntf: IKeymanKeyboardFile3Disp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {8F4B2D91-6C37-4A05-BE82-1D9F7C53A6E4}
// *********************************************************************//
IKeymanKeyboardFile3Disp = dispinterface
['{8F4B2D91-6C37-4A05-BE82-1D9F7C53A6E4}']
function Install3(Force: WordBool; BaseKeyboardID: Integer): IKeymanKeyboardInstalled; dispid 289;
procedure Install(Force: WordBool); dispid 256;
property Languages: IKeymanKeyboardLanguagesFile readonly dispid 402;
property Bitmap: IPicture readonly dispid 1;
property Copyright: WideString readonly dispid 2;
property DefaultBCP47Languages: WideString readonly dispid 3;
property DefaultPrimaryLanguage: Integer readonly dispid 4;
property DefaultWindowsLanguages: WideString readonly dispid 5;
property DefaultHotkey: IKeymanHotkey readonly dispid 6;
property Encodings: KeymanKeyboardEncodings readonly dispid 7;
property Filename: WideString readonly dispid 8;
function GetCharsUsed: WideString; dispid 9;
property ID: WideString readonly dispid 10;
property LayoutType: KeymanKeyboardLayoutType readonly dispid 11;
property Message: WideString readonly dispid 12;
property Name: WideString readonly dispid 13;
property Version: WideString readonly dispid 14;
function SerializeXML(Flags: tagKeymanSerializeFlags; const ImagePath: WideString;
out References: OleVariant): WideString; dispid 401;
end;
// *********************************************************************//
// Interface: IKeymanPackageFile3
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {C27A6E4B-9D13-47F8-A052-6B8E31D4F9C7}
// *********************************************************************//
IKeymanPackageFile3 = interface(IKeymanPackageFile)
['{C27A6E4B-9D13-47F8-A052-6B8E31D4F9C7}']
function Install3(Force: WordBool; BaseKeyboardID: Integer): IKeymanPackageFile; safecall;
end;
// *********************************************************************//
// DispIntf: IKeymanPackageFile3Disp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {C27A6E4B-9D13-47F8-A052-6B8E31D4F9C7}
// *********************************************************************//
IKeymanPackageFile3Disp = dispinterface
['{C27A6E4B-9D13-47F8-A052-6B8E31D4F9C7}']
function Install3(Force: WordBool; BaseKeyboardID: Integer): IKeymanPackageFile; dispid 292;
procedure Install(Force: WordBool); dispid 256;
property Author: WideString readonly dispid 1;
property AuthorEmail: WideString readonly dispid 2;
property Copyright: WideString readonly dispid 3;
property Filename: WideString readonly dispid 4;
property Files: IKeymanPackageContentFiles readonly dispid 5;
property Fonts: IKeymanPackageContentFonts readonly dispid 6;
property Graphic: IPicture readonly dispid 7;
property GraphicFile: IKeymanPackageContentFile readonly dispid 8;
property ID: WideString readonly dispid 9;
property KeyboardOptionsFile: IKeymanPackageContentFile readonly dispid 10;
property Keyboards: IKeymanPackageContentKeyboards readonly dispid 11;
property Name: WideString readonly dispid 12;
property ReadmeFile: IKeymanPackageContentFile readonly dispid 13;
property UsageFile: IKeymanPackageContentFile readonly dispid 14;
property Version: WideString readonly dispid 15;
property WelcomeFile: IKeymanPackageContentFile readonly dispid 16;
property Website: WideString readonly dispid 17;
function SerializeXML(Flags: tagKeymanSerializeFlags; const ImagePath: WideString;
out References: OleVariant): WideString; dispid 401;
end;
// *********************************************************************//
// Interface: IKeymanKeyboardsInstalled3
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {B7D3A8F1-6C42-4E95-AB17-93F0C2D8E641}
// *********************************************************************//
IKeymanKeyboardsInstalled3 = interface(IKeymanKeyboardsInstalled)
['{B7D3A8F1-6C42-4E95-AB17-93F0C2D8E641}']
function Install3(const Filename: WideString; Force: WordBool; BaseKeyboardID: Integer): IKeymanKeyboardInstalled; safecall;
end;
// *********************************************************************//
// DispIntf: IKeymanKeyboardsInstalled3Disp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {B7D3A8F1-6C42-4E95-AB17-93F0C2D8E641}
// *********************************************************************//
IKeymanKeyboardsInstalled3Disp = dispinterface
['{B7D3A8F1-6C42-4E95-AB17-93F0C2D8E641}']
function Install3(const Filename: WideString; Force: WordBool; BaseKeyboardID: Integer): IKeymanKeyboardInstalled; dispid 290;
property Items[Index: OleVariant]: IKeymanKeyboardInstalled readonly dispid 0; default;
function GetKeyboardFromFile(const Filename: WideString): IKeymanKeyboardFile; dispid 16;
procedure Install(const Filename: WideString; Force: WordBool); dispid 17;
procedure Apply; dispid 18;
function IndexOf(const ID: WideString): Integer; dispid 5;
property Count: Integer readonly dispid 1;
property _NewEnum: IUnknown readonly dispid -4;
procedure Refresh; dispid 2;
function SerializeXML(Flags: tagKeymanSerializeFlags; const ImagePath: WideString;
out References: OleVariant): WideString; dispid 401;
end;
// *********************************************************************//
// Interface: IKeymanPackagesInstalled3
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {3F8C2D71-94A6-4B0E-87D5-C1E3A9F62458}
// *********************************************************************//
IKeymanPackagesInstalled3 = interface(IKeymanPackagesInstalled)
['{3F8C2D71-94A6-4B0E-87D5-C1E3A9F62458}']
function Install3(const Filename: WideString; Force: WordBool; BaseKeyboardID: Integer): IKeymanPackageInstalled; safecall;
end;
// *********************************************************************//
// DispIntf: IKeymanPackagesInstalled3Disp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {3F8C2D71-94A6-4B0E-87D5-C1E3A9F62458}
// *********************************************************************//
IKeymanPackagesInstalled3Disp = dispinterface
['{3F8C2D71-94A6-4B0E-87D5-C1E3A9F62458}']
function Install3(const Filename: WideString; Force: WordBool; BaseKeyboardID: Integer): IKeymanPackageInstalled; dispid 291;
property Items[Index: OleVariant]: IKeymanPackageInstalled readonly dispid 0; default;
function GetPackageFromFile(const Filename: WideString): IKeymanPackageFile; dispid 16;
procedure Install(const Filename: WideString; Force: WordBool); dispid 17;
function IndexOf(const ID: WideString): Integer; dispid 18;
property Count: Integer readonly dispid 1;
property _NewEnum: IUnknown readonly dispid -4;
procedure Refresh; dispid 2;
function SerializeXML(Flags: tagKeymanSerializeFlags; const ImagePath: WideString;
out References: OleVariant): WideString; dispid 401;
end;
// *********************************************************************//
// Interface: IKeymanDefaultLanguage
// Flags: (4416) Dual OleAutomation Dispatchable

View file

@ -6,7 +6,7 @@
// However, when applying changes via the Editor this file will be regenerated
// and comments or formatting changes will be lost.
// ************************************************************************ //
// File generated on 31/08/2026 5:28:15 PM (- $Rev: 12980 $, 11059984).
// File generated on 16/09/2021 6:54:45 PM (- $Rev: 12980 $, 32940875).
[
uuid(F16E2A9A-DA46-4EA3-BFF3-BA46B480C961),
@ -980,6 +980,60 @@ library keymanapi
HRESULT _stdcall Install2([in] VARIANT_BOOL Force, [out, retval] IKeymanKeyboardInstalled** KeyboardResult);
};
[
uuid(8F4B2D91-6C37-4A05-BE82-1D9F7C53A6E4),
version(19.0),
helpstring("http://help.keyman.com/developer/engine/desktop/19.0/api/IKeymanKeyboardFile3"),
dual,
oleautomation
]
interface IKeymanKeyboardFile3: IKeymanKeyboardFile
{
[id(0x00000121)]
HRESULT _stdcall Install3([in] VARIANT_BOOL Force, [in] long BaseKeyboardID, [out, retval] IKeymanKeyboardInstalled** KeyboardResult);
};
[
uuid(C27A6E4B-9D13-47F8-A052-6B8E31D4F9C7),
version(19.0),
helpstring("http://help.keyman.com/developer/engine/desktop/19.0/api/IKeymanPackageFile3"),
dual,
oleautomation
]
interface IKeymanPackageFile3: IKeymanPackageFile
{
[id(0x00000124)]
HRESULT _stdcall Install3([in] VARIANT_BOOL Force, [in] long BaseKeyboardID, [out, retval] IKeymanPackageFile** Package);
};
[
uuid(B7D3A8F1-6C42-4E95-AB17-93F0C2D8E641),
version(19.0),
helpstring("https://help.keyman.com/developer/engine/windows/19.0/api/IKeymanKeyboardInstalled2\3"),
dual,
oleautomation
]
interface IKeymanKeyboardsInstalled3: IKeymanKeyboardsInstalled
{
[id(0x00000122)]
HRESULT _stdcall Install3([in] BSTR Filename, [in] VARIANT_BOOL Force, [in] long BaseKeyboardID, [out, retval] IKeymanKeyboardInstalled** KeyboardResult);
};
[
uuid(3F8C2D71-94A6-4B0E-87D5-C1E3A9F62458),
version(19.0),
helpstring("http://help.keyman.com/developer/engine/desktop/19.0/api/IKeymanPackagesInstalled3"),
dual,
oleautomation
]
interface IKeymanPackagesInstalled3: IKeymanPackagesInstalled
{
[id(0x00000123)]
HRESULT _stdcall Install3([in] BSTR Filename, [in] VARIANT_BOOL Force, [in] long BaseKeyboardID, [out, retval] IKeymanPackageInstalled** PackageResult);
};
[
uuid(9B43B6BC-C622-47EF-915E-6780CF53BAAA),
version(14.0),
@ -1025,58 +1079,6 @@ library keymanapi
HRESULT _stdcall Add([in] BSTR BCP47Tag, [out, retval] IKeymanKeyboardLanguageInstalled** Result);
};
[
uuid(8F4B2D91-6C37-4A05-BE82-1D9F7C53A6E4),
version(19.0),
helpstring("http://help.keyman.com/developer/engine/desktop/19.0/api/IKeymanKeyboardFile3"),
dual,
oleautomation
]
interface IKeymanKeyboardFile3: IKeymanKeyboardFile
{
[id(0x00000121)]
HRESULT _stdcall Install3([in] VARIANT_BOOL Force, [in] long BaseKeyboardID, [out, retval] IKeymanKeyboardInstalled** KeyboardResult);
};
[
uuid(C27A6E4B-9D13-47F8-A052-6B8E31D4F9C7),
version(19.0),
helpstring("http://help.keyman.com/developer/engine/desktop/19.0/api/IKeymanPackageFile3"),
dual,
oleautomation
]
interface IKeymanPackageFile3: IKeymanPackageFile
{
[id(0x00000124)]
HRESULT _stdcall Install3([in] VARIANT_BOOL Force, [in] long BaseKeyboardID, [out, retval] IKeymanPackageFile** Package);
};
[
uuid(B7D3A8F1-6C42-4E95-AB17-93F0C2D8E641),
version(19.0),
helpstring("https://help.keyman.com/developer/engine/windows/19.0/api/IKeymanKeyboardInstalled2\x03"),
dual,
oleautomation
]
interface IKeymanKeyboardsInstalled3: IKeymanKeyboardsInstalled
{
[id(0x00000122)]
HRESULT _stdcall Install3([in] BSTR Filename, [in] VARIANT_BOOL Force, [in] long BaseKeyboardID, [out, retval] IKeymanKeyboardInstalled** KeyboardResult);
};
[
uuid(3F8C2D71-94A6-4B0E-87D5-C1E3A9F62458),
version(19.0),
helpstring("http://help.keyman.com/developer/engine/desktop/19.0/api/IKeymanPackagesInstalled3"),
dual,
oleautomation
]
interface IKeymanPackagesInstalled3: IKeymanPackagesInstalled
{
[id(0x00000123)]
HRESULT _stdcall Install3([in] BSTR Filename, [in] VARIANT_BOOL Force, [in] long BaseKeyboardID, [out, retval] IKeymanPackageInstalled** PackageResult);
};
[
uuid(CA3B3B00-EA42-4EED-9043-D1A1F1842D52),
dual,