+XE2 x32
git-svn-id: https://svn.code.sf.net/p/kolmck/code@110 91bb2d04-0c0c-4d2d-88a5-bbb6f4c1fa07
This commit is contained in:
@ -517,6 +517,7 @@ end;
|
|||||||
function ExceptionErrorMessage(ExceptObject: TObject; ExceptAddr: Pointer;
|
function ExceptionErrorMessage(ExceptObject: TObject; ExceptAddr: Pointer;
|
||||||
Buffer: PKOLChar; Size: Integer): Integer;
|
Buffer: PKOLChar; Size: Integer): Integer;
|
||||||
var
|
var
|
||||||
|
ex: Exception;
|
||||||
MsgPtr: PKOLChar;
|
MsgPtr: PKOLChar;
|
||||||
//MsgEnd: PChar;
|
//MsgEnd: PChar;
|
||||||
//MsgLen: Integer;
|
//MsgLen: Integer;
|
||||||
@ -543,7 +544,8 @@ begin
|
|||||||
//MsgEnd := '';
|
//MsgEnd := '';
|
||||||
if ExceptObject is Exception then
|
if ExceptObject is Exception then
|
||||||
begin
|
begin
|
||||||
MsgPtr := PKOLChar(Exception(ExceptObject).Message);
|
ex := Exception(ExceptObject);
|
||||||
|
MsgPtr := PKOLChar(ex.Message);
|
||||||
//MsgLen := StrLen(MsgPtr);
|
//MsgLen := StrLen(MsgPtr);
|
||||||
//if (MsgLen <> 0) and (MsgPtr[MsgLen - 1] <> '.') then MsgEnd := '.';
|
//if (MsgLen <> 0) and (MsgPtr[MsgLen - 1] <> '.') then MsgEnd := '.';
|
||||||
{-} // Isn't it too beautiful - devote ~40 bytes of code just to decide,
|
{-} // Isn't it too beautiful - devote ~40 bytes of code just to decide,
|
||||||
|
22
KOL.pas
22
KOL.pas
@ -14,7 +14,7 @@
|
|||||||
Key Objects Library (C) 2000 by Vladimir Kladov.
|
Key Objects Library (C) 2000 by Vladimir Kladov.
|
||||||
|
|
||||||
****************************************************************
|
****************************************************************
|
||||||
* VERSION 3.15
|
* VERSION 3.16
|
||||||
****************************************************************
|
****************************************************************
|
||||||
|
|
||||||
K.O.L. - is a set of objects and functions to create small programs
|
K.O.L. - is a set of objects and functions to create small programs
|
||||||
@ -715,7 +715,7 @@ type
|
|||||||
{* }
|
{* }
|
||||||
|
|
||||||
PPointerList = ^TPointerList;
|
PPointerList = ^TPointerList;
|
||||||
TPointerList = array[0..MaxInt div 4 - 1] of Pointer;
|
TPointerList = array[0..MaxInt div SizeOf(Pointer) - 1] of Pointer;
|
||||||
|
|
||||||
TObjectMethod = procedure of object;
|
TObjectMethod = procedure of object;
|
||||||
{* }
|
{* }
|
||||||
@ -15932,13 +15932,14 @@ end;
|
|||||||
|
|
||||||
function TObj.VmtAddr: Pointer;
|
function TObj.VmtAddr: Pointer;
|
||||||
asm
|
asm
|
||||||
MOV EAX, [EAX - 4]
|
//MOV EAX, [EAX - 4]
|
||||||
|
MOV EAX, [EAX]
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TObj.InstanceSize: Integer;
|
function TObj.InstanceSize: Integer;
|
||||||
asm
|
asm
|
||||||
MOV EAX, [EAX]
|
//MOV EAX, [EAX]
|
||||||
MOV EAX,[EAX-4]
|
MOV EAX, [EAX-4]
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF OLD_FREE}
|
{$IFDEF OLD_FREE}
|
||||||
@ -25420,7 +25421,7 @@ function Time2StrFmt( const Fmt: KOLString; D: TDateTime ): KOLString;
|
|||||||
var ST: TSystemTime;
|
var ST: TSystemTime;
|
||||||
lpFmt: PKOLChar;
|
lpFmt: PKOLChar;
|
||||||
begin
|
begin
|
||||||
if D < 1 then D := D + 1;
|
if D < 1 then D := D + 700000;
|
||||||
DateTime2SystemTime( D, ST );
|
DateTime2SystemTime( D, ST );
|
||||||
lpFmt := nil;
|
lpFmt := nil;
|
||||||
if Fmt <> '' then lpFmt := PKOLChar( Fmt );
|
if Fmt <> '' then lpFmt := PKOLChar( Fmt );
|
||||||
@ -34281,8 +34282,8 @@ asm
|
|||||||
MOV ECX, [EDX].TEvents.fOnResize.TMethod.Code
|
MOV ECX, [EDX].TEvents.fOnResize.TMethod.Code
|
||||||
MOV EAX, [EDX].TEvents.fOnResize.TMethod.Data
|
MOV EAX, [EDX].TEvents.fOnResize.TMethod.Data
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
MOV ECX, [EDX].TControl.fOnResize.TMethod.Code
|
MOV ECX, [EDX].TControl.EV.fOnResize.TMethod.Code
|
||||||
MOV EAX, [EDX].TControl.fOnResize.TMethod.Data
|
MOV EAX, [EDX].TControl.EV.fOnResize.TMethod.Data
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF NIL_EVENTS}
|
{$IFDEF NIL_EVENTS}
|
||||||
JECXZ @@ret_true1
|
JECXZ @@ret_true1
|
||||||
@ -34448,7 +34449,7 @@ asm
|
|||||||
MOV EAX, [EDX].TControl.EV
|
MOV EAX, [EDX].TControl.EV
|
||||||
MOV ECX, [EAX].TEvents.fOnDropDown.TMethod.Code
|
MOV ECX, [EAX].TEvents.fOnDropDown.TMethod.Code
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
MOV ECX, [EDX].TControl.fOnDropDown.TMethod.Code
|
MOV ECX, [EDX].TControl.EV.fOnDropDown.TMethod.Code
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$IFDEF NIL_EVENTS}
|
{$IFDEF NIL_EVENTS}
|
||||||
JECXZ @@ret_z
|
JECXZ @@ret_z
|
||||||
@ -34456,7 +34457,7 @@ asm
|
|||||||
{$IFDEF EVENTS_DYNAMIC}
|
{$IFDEF EVENTS_DYNAMIC}
|
||||||
MOV EAX, [EAX].TEvents.fOnDropDown.TMethod.Data
|
MOV EAX, [EAX].TEvents.fOnDropDown.TMethod.Data
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
MOV EAX, [EDX].TControl.fOnDropDown.TMethod.Data
|
MOV EAX, [EDX].TControl.EV.fOnDropDown.TMethod.Data
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
CALL ECX
|
CALL ECX
|
||||||
@@ret_z:
|
@@ret_z:
|
||||||
@ -57909,6 +57910,7 @@ begin
|
|||||||
Sender.EV.FOnHide( Sender );
|
Sender.EV.FOnHide( Sender );
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
Sender.UpdateWndStyles;
|
||||||
Result := FALSE;
|
Result := FALSE;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
26
KOLDEF.inc
26
KOLDEF.inc
@ -163,8 +163,30 @@ Delphi version 8 not supported! (delphi 8 is .net only)
|
|||||||
{$DEFINE _D2010orHigher}
|
{$DEFINE _D2010orHigher}
|
||||||
{$DEFINE _DXE}
|
{$DEFINE _DXE}
|
||||||
{$DEFINE _DXEorHigher}
|
{$DEFINE _DXEorHigher}
|
||||||
{$DEFINE _DXEorHigher}
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$WARN UNIT_DEPRECATED OFF}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
|
{$WARN UNSAFE_TYPE OFF}
|
||||||
|
{$WARN UNSAFE_CAST OFF}
|
||||||
|
{$WARN UNSAFE_CODE OFF}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
|
{$IFDEF VER230} // Delphi XE2
|
||||||
|
{$DEFINE _D3orHigher}
|
||||||
|
{$DEFINE _D4orHigher}
|
||||||
|
{$DEFINE _D5orHigher}
|
||||||
|
{$DEFINE _D6orHigher}
|
||||||
|
{$DEFINE _D7orHigher}
|
||||||
|
{$DEFINE _D2005orHigher}
|
||||||
|
{$DEFINE _D2006orHigher}
|
||||||
|
{$DEFINE _D2007orHigher}
|
||||||
|
{$DEFINE _D2009orHigher}
|
||||||
|
{$DEFINE _D2010orHigher}
|
||||||
|
{$DEFINE _DXE}
|
||||||
|
{$DEFINE _DXEorHigher}
|
||||||
|
{$DEFINE _DXE2}
|
||||||
|
{$DEFINE _DXE2orHigher}
|
||||||
|
{$DEFINE PAS_VERSION}
|
||||||
|
{$WARN UNIT_DEPRECATED OFF}
|
||||||
{$WARN SYMBOL_PLATFORM OFF}
|
{$WARN SYMBOL_PLATFORM OFF}
|
||||||
{$WARN UNSAFE_TYPE OFF}
|
{$WARN UNSAFE_TYPE OFF}
|
||||||
{$WARN UNSAFE_CAST OFF}
|
{$WARN UNSAFE_CAST OFF}
|
||||||
|
55
KOLMCK_DXE2.dpk
Normal file
55
KOLMCK_DXE2.dpk
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
package KOLMCK_DXE2;
|
||||||
|
|
||||||
|
{$R 'KOLMCK.res'}
|
||||||
|
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
|
||||||
|
{$ALIGN 4}
|
||||||
|
{$ASSERTIONS ON}
|
||||||
|
{$BOOLEVAL OFF}
|
||||||
|
{$DEBUGINFO ON}
|
||||||
|
{$EXTENDEDSYNTAX ON}
|
||||||
|
{$IMPORTEDDATA ON}
|
||||||
|
{$IOCHECKS ON}
|
||||||
|
{$LOCALSYMBOLS ON}
|
||||||
|
{$LONGSTRINGS ON}
|
||||||
|
{$OPENSTRINGS ON}
|
||||||
|
{$OPTIMIZATION OFF}
|
||||||
|
{$OVERFLOWCHECKS OFF}
|
||||||
|
{$RANGECHECKS OFF}
|
||||||
|
{$REFERENCEINFO ON}
|
||||||
|
{$SAFEDIVIDE OFF}
|
||||||
|
{$STACKFRAMES ON}
|
||||||
|
{$TYPEDADDRESS OFF}
|
||||||
|
{$VARSTRINGCHECKS ON}
|
||||||
|
{$WRITEABLECONST OFF}
|
||||||
|
{$MINENUMSIZE 1}
|
||||||
|
{$IMAGEBASE $9400000}
|
||||||
|
{$DEFINE DEBUG}
|
||||||
|
{$DEFINE INPACKAGE}
|
||||||
|
{$ENDIF IMPLICITBUILDING}
|
||||||
|
{$DESCRIPTION 'KOLMCK XE2'}
|
||||||
|
{$DESIGNONLY}
|
||||||
|
{$IMPLICITBUILD OFF}
|
||||||
|
|
||||||
|
requires
|
||||||
|
rtl,
|
||||||
|
vcl,
|
||||||
|
xmlrtl,
|
||||||
|
vclactnband,
|
||||||
|
vclx;
|
||||||
|
|
||||||
|
contains
|
||||||
|
KOL in 'KOL.pas',
|
||||||
|
KOLadd in 'KOLadd.pas',
|
||||||
|
mirror in 'mirror.pas',
|
||||||
|
mckObjs in 'mckObjs.pas',
|
||||||
|
mckCtrls in 'mckCtrls.pas',
|
||||||
|
mckCtrlDraw in 'mckCtrlDraw.pas',
|
||||||
|
mckMenuEditor in 'mckMenuEditor.pas',
|
||||||
|
mckToolbarEditor in 'mckToolbarEditor.pas',
|
||||||
|
mckAccEditor in 'mckAccEditor.pas',
|
||||||
|
mckActionListEditor in 'mckActionListEditor.pas',
|
||||||
|
mckFileFilterEditor in 'mckFileFilterEditor.pas',
|
||||||
|
mckLVColumnsEditor in 'mckLVColumnsEditor.pas',
|
||||||
|
MCKAppExpert200x in 'MCKAppExpert200x.pas';
|
||||||
|
|
||||||
|
end.
|
@ -1,6 +1,6 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// KOL_ASM.inc (to inlude in KOL.pas)
|
// KOL_ASM.inc (to inlude in KOL.pas)
|
||||||
// v 3.141592653589
|
// v 3.16
|
||||||
|
|
||||||
function MsgBox( const S: KOLString; Flags: DWORD ): DWORD;
|
function MsgBox( const S: KOLString; Flags: DWORD ): DWORD;
|
||||||
asm
|
asm
|
||||||
|
@ -2341,9 +2341,9 @@ asm
|
|||||||
POP ECX
|
POP ECX
|
||||||
JC @@ret_false1
|
JC @@ret_false1
|
||||||
CALL ESI
|
CALL ESI
|
||||||
XOR EAX, 1 //dufa
|
XOR AL, 1 //+Dufa
|
||||||
@@rsltEAX_ResultTrue:
|
@@rsltEAX_ResultTrue:
|
||||||
MOV [EDI], EAX
|
MOV [EDI], AL //+VK
|
||||||
@@ResultTrue:
|
@@ResultTrue:
|
||||||
MOV AL, 1
|
MOV AL, 1
|
||||||
POP EDI
|
POP EDI
|
||||||
@ -2360,7 +2360,7 @@ asm
|
|||||||
PUSH [EDX].TTVDispInfo.item.hItem
|
PUSH [EDX].TTVDispInfo.item.hItem
|
||||||
CALL @@prepareCallEvent
|
CALL @@prepareCallEvent
|
||||||
POP ECX
|
POP ECX
|
||||||
//JNC @@justEventCall //dufa
|
//JNC @@justEventCall ---//dufa
|
||||||
JC @@ret_false1 //dufa
|
JC @@ret_false1 //dufa
|
||||||
CALL ESI //dufa
|
CALL ESI //dufa
|
||||||
JMP @@rsltEAX_ResultTrue //dufa
|
JMP @@rsltEAX_ResultTrue //dufa
|
||||||
|
@ -16,7 +16,7 @@ type
|
|||||||
0: (
|
0: (
|
||||||
hwnd: HWND;
|
hwnd: HWND;
|
||||||
message: UINT;
|
message: UINT;
|
||||||
wParam: WPARAM;
|
wParam: {$IFDEF _DXE2}Integer{$ELSE}WPARAM{$ENDIF};
|
||||||
lParam: LPARAM;
|
lParam: LPARAM;
|
||||||
time: DWORD;
|
time: DWORD;
|
||||||
pt: TPoint;
|
pt: TPoint;
|
||||||
|
@ -3,7 +3,7 @@ KEY OBJECTS LIBRARY for Delphi (and Free Pascal Compiler) - to make applications
|
|||||||
Copyright (C) by Vladimir Kladov, 1999-2010.
|
Copyright (C) by Vladimir Kladov, 1999-2010.
|
||||||
Some parts of code are Copyright (C) intellectual property by other people, see comments in code and on KOL site. Thanks to all for help with KOL and MCK!
|
Some parts of code are Copyright (C) intellectual property by other people, see comments in code and on KOL site. Thanks to all for help with KOL and MCK!
|
||||||
|
|
||||||
v. 3.00 (3-Oct-2010)
|
v. 3.16 (26-Nov-2011)
|
||||||
|
|
||||||
To get newer version, go to Web-page http://www.kolmck.net and get there updates.
|
To get newer version, go to Web-page http://www.kolmck.net and get there updates.
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
KEY OBJECTS LIBRARY ��� Delphi (� Free Pascal Compiler) - ������������ ��� ����, ����� ������� ���������, ������������� � �������������� ����� �������, ���������� � ����� ����������.
|
KEY OBJECTS LIBRARY ��� Delphi (� Free Pascal Compiler) - ������������ ��� ����, ����� ������� ���������, ������������� � �������������� ����� �������, ���������� � ����� ����������.
|
||||||
Copyright (C) by Vladimir Kladov, 1999-2007. ���������, � ��������� ��������.
|
Copyright (C) by Vladimir Kladov, 1999-2007. ���������, � ��������� ��������.
|
||||||
|
|
||||||
������ 2.93 (3 ���� 2010 �.)
|
������ 3.16 (26 ������ 2011 �.)
|
||||||
|
|
||||||
_________________
|
_________________
|
||||||
������� ��������:
|
������� ��������:
|
||||||
|
Reference in New Issue
Block a user