• R/O
  • SSH
  • HTTPS

akdf: Commit


Commit MetaInfo

Revision577 (tree)
Time2022-03-17 02:22:18
Authorderekwildstar

Log Message

Adequações para compilação no Delphi 2006

TTTNLinkClick, TTTNGetDispInfo, TTTNShow, TTTNPop, TTTNCustomDraw e HandleToolTipNotificationMessages foram movidos de KRK.Rtl.Common.Classes para KRK.Rtl.Win.CommCtrl
Foram adicionadas mais constantes e tipos em KRK.Rtl.Win.CommCtrl
Foram adicionados mais tipos em KRK.Rtl.Sys.System
Adicionada a função TryStrToUInt a KRK.Rtl.Sys.System.SysUtils

Change Summary

Incremental Difference

--- trunk/dtp/CustomModules/prj/Delphi 26 (Delphi Rio)/KRKCustomModulesD.dproj (revision 576)
+++ trunk/dtp/CustomModules/prj/Delphi 26 (Delphi Rio)/KRKCustomModulesD.dproj (revision 577)
@@ -47,7 +47,6 @@
4747 <DCC_Namespace>Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace>
4848 <BT_BuildType>Debug</BT_BuildType>
4949 <VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo>
50- <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=</VerInfo_Keys>
5150 <VerInfo_Locale>1033</VerInfo_Locale>
5251 <DCC_UsePackage>rtl;KRKCustomModulesR;KRKLib;$(DCC_UsePackage)</DCC_UsePackage>
5352 </PropertyGroup>
--- trunk/rtp/prj/Delphi 10 (Delphi 2006)/KRKLib.bdsproj (revision 576)
+++ trunk/rtp/prj/Delphi 10 (Delphi 2006)/KRKLib.bdsproj (revision 577)
@@ -13,104 +13,106 @@
1313 <Compiler>
1414 <Compiler Name="UnitAliases"></Compiler>
1515 <Compiler Name="NamespacePrefix"></Compiler>
16- <Compiler Name="DefaultNamespace"></Compiler> <Compiler Name="A">8</Compiler>
17- <Compiler Name="B">0</Compiler>
18- <Compiler Name="C">1</Compiler>
19- <Compiler Name="D">1</Compiler>
20- <Compiler Name="E">0</Compiler>
21- <Compiler Name="F">0</Compiler>
22- <Compiler Name="G">1</Compiler>
23- <Compiler Name="H">1</Compiler>
24- <Compiler Name="I">1</Compiler>
25- <Compiler Name="J">0</Compiler>
26- <Compiler Name="K">0</Compiler>
27- <Compiler Name="L">1</Compiler>
28- <Compiler Name="M">0</Compiler>
29- <Compiler Name="N">1</Compiler>
30- <Compiler Name="O">1</Compiler>
31- <Compiler Name="P">1</Compiler>
32- <Compiler Name="Q">0</Compiler>
33- <Compiler Name="R">0</Compiler>
34- <Compiler Name="S">0</Compiler>
35- <Compiler Name="T">0</Compiler>
36- <Compiler Name="U">0</Compiler>
37- <Compiler Name="V">1</Compiler>
38- <Compiler Name="W">0</Compiler>
39- <Compiler Name="X">1</Compiler>
40- <Compiler Name="Y">1</Compiler>
41- <Compiler Name="Z">1</Compiler>
42- <Compiler Name="ShowHints">True</Compiler>
43- <Compiler Name="ShowWarnings">True</Compiler>
44- <Compiler Name="GenerateDocumentation">False</Compiler>
45- <Compiler Name="SymbolDeprecated">True</Compiler>
46- <Compiler Name="SymbolLibrary">True</Compiler>
47- <Compiler Name="SymbolPlatform">True</Compiler>
48- <Compiler Name="SymbolExperimental">True</Compiler>
49- <Compiler Name="UnitLibrary">True</Compiler>
50- <Compiler Name="UnitPlatform">True</Compiler>
51- <Compiler Name="UnitDeprecated">True</Compiler>
52- <Compiler Name="UnitExperimental">True</Compiler>
53- <Compiler Name="HResultCompat">True</Compiler>
54- <Compiler Name="HidingMember">True</Compiler>
55- <Compiler Name="HiddenVirtual">True</Compiler>
56- <Compiler Name="Garbage">True</Compiler>
57- <Compiler Name="BoundsError">True</Compiler>
58- <Compiler Name="ZeroNilCompat">True</Compiler>
59- <Compiler Name="StringConstTruncated">True</Compiler>
60- <Compiler Name="ForLoopVarVarPar">True</Compiler>
61- <Compiler Name="TypedConstVarPar">True</Compiler>
62- <Compiler Name="AsgToTypedConst">True</Compiler>
63- <Compiler Name="CaseLabelRange">True</Compiler>
64- <Compiler Name="ForVariable">True</Compiler>
65- <Compiler Name="ConstructingAbstract">True</Compiler>
66- <Compiler Name="ComparisonFalse">True</Compiler>
67- <Compiler Name="ComparisonTrue">True</Compiler>
68- <Compiler Name="ComparingSignedUnsigned">True</Compiler>
69- <Compiler Name="CombiningSignedUnsigned">True</Compiler>
70- <Compiler Name="UnsupportedConstruct">True</Compiler>
71- <Compiler Name="FileOpen">True</Compiler>
72- <Compiler Name="FileOpenUnitSrc">True</Compiler>
73- <Compiler Name="BadGlobalSymbol">True</Compiler>
74- <Compiler Name="DuplicateConstructorDestructor">True</Compiler>
75- <Compiler Name="InvalidDirective">True</Compiler>
76- <Compiler Name="PackageNoLink">True</Compiler>
77- <Compiler Name="PackageThreadVar">True</Compiler>
78- <Compiler Name="ImplicitImport">True</Compiler>
79- <Compiler Name="HPPEMITIgnored">True</Compiler>
80- <Compiler Name="NoRetVal">True</Compiler>
81- <Compiler Name="UseBeforeDef">True</Compiler>
82- <Compiler Name="ForLoopVarUndef">True</Compiler>
83- <Compiler Name="UnitNameMismatch">True</Compiler>
84- <Compiler Name="NoCFGFileFound">True</Compiler>
85- <Compiler Name="ImplicitVariants">True</Compiler>
86- <Compiler Name="UnicodeToLocale">True</Compiler>
87- <Compiler Name="LocaleToUnicode">True</Compiler>
88- <Compiler Name="ImagebaseMultiple">True</Compiler>
89- <Compiler Name="SuspiciousTypecast">True</Compiler>
90- <Compiler Name="PrivatePropAccessor">True</Compiler>
91- <Compiler Name="UnsafeType">False</Compiler>
92- <Compiler Name="UnsafeCode">False</Compiler>
93- <Compiler Name="UnsafeCast">False</Compiler>
94- <Compiler Name="OptionTruncated">True</Compiler>
95- <Compiler Name="WideCharReduced">True</Compiler>
96- <Compiler Name="DuplicatesIgnored">True</Compiler>
97- <Compiler Name="UnitInitSeq">True</Compiler>
98- <Compiler Name="LocalPInvoke">True</Compiler>
99- <Compiler Name="MessageDirective">True</Compiler>
100- <Compiler Name="CodePage"></Compiler>
101- </Compiler>
16+ <Compiler Name="DefaultNamespace"></Compiler>
17+ <Compiler Name="A">8</Compiler>
18+ <Compiler Name="B">0</Compiler>
19+ <Compiler Name="C">1</Compiler>
20+ <Compiler Name="D">1</Compiler>
21+ <Compiler Name="E">0</Compiler>
22+ <Compiler Name="F">0</Compiler>
23+ <Compiler Name="G">1</Compiler>
24+ <Compiler Name="H">1</Compiler>
25+ <Compiler Name="I">1</Compiler>
26+ <Compiler Name="J">0</Compiler>
27+ <Compiler Name="K">0</Compiler>
28+ <Compiler Name="L">1</Compiler>
29+ <Compiler Name="M">0</Compiler>
30+ <Compiler Name="N">1</Compiler>
31+ <Compiler Name="O">1</Compiler>
32+ <Compiler Name="P">1</Compiler>
33+ <Compiler Name="Q">0</Compiler>
34+ <Compiler Name="R">0</Compiler>
35+ <Compiler Name="S">0</Compiler>
36+ <Compiler Name="T">0</Compiler>
37+ <Compiler Name="U">0</Compiler>
38+ <Compiler Name="V">1</Compiler>
39+ <Compiler Name="W">0</Compiler>
40+ <Compiler Name="X">1</Compiler>
41+ <Compiler Name="Y">1</Compiler>
42+ <Compiler Name="Z">1</Compiler>
43+ <Compiler Name="ShowHints">True</Compiler>
44+ <Compiler Name="ShowWarnings">True</Compiler>
45+ <Compiler Name="GenerateDocumentation">False</Compiler>
46+ <Compiler Name="SymbolDeprecated">True</Compiler>
47+ <Compiler Name="SymbolLibrary">True</Compiler>
48+ <Compiler Name="SymbolPlatform">True</Compiler>
49+ <Compiler Name="SymbolExperimental">True</Compiler>
50+ <Compiler Name="UnitLibrary">True</Compiler>
51+ <Compiler Name="UnitPlatform">True</Compiler>
52+ <Compiler Name="UnitDeprecated">True</Compiler>
53+ <Compiler Name="UnitExperimental">True</Compiler>
54+ <Compiler Name="HResultCompat">True</Compiler>
55+ <Compiler Name="HidingMember">True</Compiler>
56+ <Compiler Name="HiddenVirtual">True</Compiler>
57+ <Compiler Name="Garbage">True</Compiler>
58+ <Compiler Name="BoundsError">True</Compiler>
59+ <Compiler Name="ZeroNilCompat">True</Compiler>
60+ <Compiler Name="StringConstTruncated">True</Compiler>
61+ <Compiler Name="ForLoopVarVarPar">True</Compiler>
62+ <Compiler Name="TypedConstVarPar">True</Compiler>
63+ <Compiler Name="AsgToTypedConst">True</Compiler>
64+ <Compiler Name="CaseLabelRange">True</Compiler>
65+ <Compiler Name="ForVariable">True</Compiler>
66+ <Compiler Name="ConstructingAbstract">True</Compiler>
67+ <Compiler Name="ComparisonFalse">True</Compiler>
68+ <Compiler Name="ComparisonTrue">True</Compiler>
69+ <Compiler Name="ComparingSignedUnsigned">True</Compiler>
70+ <Compiler Name="CombiningSignedUnsigned">True</Compiler>
71+ <Compiler Name="UnsupportedConstruct">True</Compiler>
72+ <Compiler Name="FileOpen">True</Compiler>
73+ <Compiler Name="FileOpenUnitSrc">True</Compiler>
74+ <Compiler Name="BadGlobalSymbol">True</Compiler>
75+ <Compiler Name="DuplicateConstructorDestructor">True</Compiler>
76+ <Compiler Name="InvalidDirective">True</Compiler>
77+ <Compiler Name="PackageNoLink">True</Compiler>
78+ <Compiler Name="PackageThreadVar">True</Compiler>
79+ <Compiler Name="ImplicitImport">True</Compiler>
80+ <Compiler Name="HPPEMITIgnored">True</Compiler>
81+ <Compiler Name="NoRetVal">True</Compiler>
82+ <Compiler Name="UseBeforeDef">True</Compiler>
83+ <Compiler Name="ForLoopVarUndef">True</Compiler>
84+ <Compiler Name="UnitNameMismatch">True</Compiler>
85+ <Compiler Name="NoCFGFileFound">True</Compiler>
86+ <Compiler Name="ImplicitVariants">True</Compiler>
87+ <Compiler Name="UnicodeToLocale">True</Compiler>
88+ <Compiler Name="LocaleToUnicode">True</Compiler>
89+ <Compiler Name="ImagebaseMultiple">True</Compiler>
90+ <Compiler Name="SuspiciousTypecast">True</Compiler>
91+ <Compiler Name="PrivatePropAccessor">True</Compiler>
92+ <Compiler Name="UnsafeType">False</Compiler>
93+ <Compiler Name="UnsafeCode">False</Compiler>
94+ <Compiler Name="UnsafeCast">False</Compiler>
95+ <Compiler Name="OptionTruncated">True</Compiler>
96+ <Compiler Name="WideCharReduced">True</Compiler>
97+ <Compiler Name="DuplicatesIgnored">True</Compiler>
98+ <Compiler Name="UnitInitSeq">True</Compiler>
99+ <Compiler Name="LocalPInvoke">True</Compiler>
100+ <Compiler Name="MessageDirective">True</Compiler>
101+ <Compiler Name="CodePage"></Compiler>
102+ </Compiler>
102103 <Linker>
103- <Linker Name="ExeDescription">Anak Krakatoa Library</Linker> <Linker Name="MapFile">0</Linker>
104- <Linker Name="OutputObjs">0</Linker>
105- <Linker Name="GenerateHpps">False</Linker>
106- <Linker Name="ConsoleApp">1</Linker>
107- <Linker Name="DebugInfo">False</Linker>
108- <Linker Name="RemoteSymbols">False</Linker>
109- <Linker Name="GenerateDRC">False</Linker>
110- <Linker Name="MinStackSize">16384</Linker>
111- <Linker Name="MaxStackSize">1048576</Linker>
112- <Linker Name="ImageBase">4194304</Linker>
113- </Linker>
104+ <Linker Name="ExeDescription">Anak Krakatoa Library</Linker>
105+ <Linker Name="MapFile">0</Linker>
106+ <Linker Name="OutputObjs">0</Linker>
107+ <Linker Name="GenerateHpps">False</Linker>
108+ <Linker Name="ConsoleApp">1</Linker>
109+ <Linker Name="DebugInfo">False</Linker>
110+ <Linker Name="RemoteSymbols">False</Linker>
111+ <Linker Name="GenerateDRC">False</Linker>
112+ <Linker Name="MinStackSize">16384</Linker>
113+ <Linker Name="MaxStackSize">1048576</Linker>
114+ <Linker Name="ImageBase">4194304</Linker>
115+ </Linker>
114116 <Directories>
115117 <Directories Name="UnitOutputDir">..\..\dcu\d10</Directories>
116118 <Directories Name="PackageDLLOutputDir"></Directories>
@@ -117,53 +119,55 @@
117119 <Directories Name="PackageDCPOutputDir"></Directories>
118120 <Directories Name="SearchPath">..\..\res;..\..\res\dfm;C:\Program Files (x86)\Embarcadero\Studio\20.0\source\vcl;C:\Program Files (x86)\Embarcadero\Studio\20.0\source\rtl\win;C:\Program Files (x86)\Embarcadero\Studio\20.0\source\rtl\sys</Directories>
119121 <Directories Name="Conditionals"></Directories>
120- <Directories Name="DebugSourceDirs"></Directories> <Directories Name="OutputDir"></Directories>
121- <Directories Name="Packages"></Directories>
122- <Directories Name="UsePackages">False</Directories>
123- </Directories> <FileVersion>
124- <FileVersion Name="Version">7.0</FileVersion>
125- </FileVersion>
126- <Parameters>
127- <Parameters Name="RunParams"></Parameters>
128- <Parameters Name="HostApplication"></Parameters>
129- <Parameters Name="Launcher"></Parameters>
130- <Parameters Name="UseLauncher">False</Parameters>
131- <Parameters Name="DebugCWD"></Parameters>
132- <Parameters Name="Debug Symbols Search Path"></Parameters>
133- <Parameters Name="LoadAllSymbols">True</Parameters>
134- <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
135- </Parameters>
136- <Language>
137- <Language Name="ActiveLang"></Language>
138- <Language Name="ProjectLang">$00000000</Language>
139- <Language Name="RootDir"></Language>
140- </Language>
141- <VersionInfo>
142- <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
143- <VersionInfo Name="AutoIncBuild">False</VersionInfo>
144- <VersionInfo Name="MajorVer">1</VersionInfo>
145- <VersionInfo Name="MinorVer">0</VersionInfo>
146- <VersionInfo Name="Release">0</VersionInfo>
147- <VersionInfo Name="Build">0</VersionInfo>
148- <VersionInfo Name="Debug">False</VersionInfo>
149- <VersionInfo Name="PreRelease">False</VersionInfo>
150- <VersionInfo Name="Special">False</VersionInfo>
151- <VersionInfo Name="Private">False</VersionInfo>
152- <VersionInfo Name="DLL">False</VersionInfo>
153- <VersionInfo Name="Locale">1046</VersionInfo>
154- <VersionInfo Name="CodePage">1252</VersionInfo>
155- </VersionInfo>
156- <VersionInfoKeys>
157- <VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
158- <VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
159- <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
160- <VersionInfoKeys Name="InternalName"></VersionInfoKeys>
161- <VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
162- <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
163- <VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
164- <VersionInfoKeys Name="ProductName"></VersionInfoKeys>
165- <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
166- <VersionInfoKeys Name="Comments"></VersionInfoKeys>
167- </VersionInfoKeys>
168- </Delphi.Personality>
122+ <Directories Name="DebugSourceDirs"></Directories>
123+ <Directories Name="OutputDir"></Directories>
124+ <Directories Name="Packages"></Directories>
125+ <Directories Name="UsePackages">False</Directories>
126+ </Directories>
127+ <FileVersion>
128+ <FileVersion Name="Version">7.0</FileVersion>
129+ </FileVersion>
130+ <Parameters>
131+ <Parameters Name="RunParams"></Parameters>
132+ <Parameters Name="HostApplication"></Parameters>
133+ <Parameters Name="Launcher"></Parameters>
134+ <Parameters Name="UseLauncher">False</Parameters>
135+ <Parameters Name="DebugCWD"></Parameters>
136+ <Parameters Name="Debug Symbols Search Path"></Parameters>
137+ <Parameters Name="LoadAllSymbols">True</Parameters>
138+ <Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
139+ </Parameters>
140+ <Language>
141+ <Language Name="ActiveLang"></Language>
142+ <Language Name="ProjectLang">$00000000</Language>
143+ <Language Name="RootDir"></Language>
144+ </Language>
145+ <VersionInfo>
146+ <VersionInfo Name="IncludeVerInfo">True</VersionInfo>
147+ <VersionInfo Name="AutoIncBuild">False</VersionInfo>
148+ <VersionInfo Name="MajorVer">1</VersionInfo>
149+ <VersionInfo Name="MinorVer">0</VersionInfo>
150+ <VersionInfo Name="Release">0</VersionInfo>
151+ <VersionInfo Name="Build">0</VersionInfo>
152+ <VersionInfo Name="Debug">False</VersionInfo>
153+ <VersionInfo Name="PreRelease">False</VersionInfo>
154+ <VersionInfo Name="Special">False</VersionInfo>
155+ <VersionInfo Name="Private">False</VersionInfo>
156+ <VersionInfo Name="DLL">False</VersionInfo>
157+ <VersionInfo Name="Locale">1046</VersionInfo>
158+ <VersionInfo Name="CodePage">1252</VersionInfo>
159+ </VersionInfo>
160+ <VersionInfoKeys>
161+ <VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
162+ <VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
163+ <VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
164+ <VersionInfoKeys Name="InternalName"></VersionInfoKeys>
165+ <VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
166+ <VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
167+ <VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
168+ <VersionInfoKeys Name="ProductName"></VersionInfoKeys>
169+ <VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
170+ <VersionInfoKeys Name="Comments"></VersionInfoKeys>
171+ </VersionInfoKeys>
172+ </Delphi.Personality>
169173 </BorlandProject>
--- trunk/rtp/prj/Delphi 10 (Delphi 2006)/KRKLib.dpk (revision 576)
+++ trunk/rtp/prj/Delphi 10 (Delphi 2006)/KRKLib.dpk (revision 577)
@@ -1,15 +1,33 @@
11 package KRKLib;
22
33 {$R *.res}
4-
4+{$ALIGN 8}
5+{$ASSERTIONS ON}
6+{$BOOLEVAL OFF}
7+{$DEBUGINFO ON}
8+{$EXTENDEDSYNTAX ON}
9+{$IMPORTEDDATA ON}
10+{$IOCHECKS ON}
11+{$LOCALSYMBOLS ON}
12+{$LONGSTRINGS ON}
13+{$OPENSTRINGS ON}
14+{$OPTIMIZATION ON}
15+{$OVERFLOWCHECKS OFF}
16+{$RANGECHECKS OFF}
17+{$REFERENCEINFO ON}
18+{$SAFEDIVIDE OFF}
19+{$STACKFRAMES OFF}
20+{$TYPEDADDRESS OFF}
21+{$VARSTRINGCHECKS ON}
22+{$WRITEABLECONST OFF}
23+{$MINENUMSIZE 1}
24+{$IMAGEBASE $400000}
525 {$DESCRIPTION 'Anak Krakatoa Library'}
626 {$LIBPREFIX ''}
727 {$LIBSUFFIX '100'}
8-{$LIBVERSION ''}
28+{$RUNONLY}
929 {$IMPLICITBUILD OFF}
10-{$RUNONLY}
1130
12-
1331 requires
1432 designide,
1533 PNGComponentsR,
@@ -19,11 +37,11 @@
1937 vcldb,
2038 dsnap,
2139 dclstd,
22- dsnapxml,
23- soapmidas,
24- vclie;
40+ vclie,
41+ webdsnap;
2542
2643 contains
44+ crtl,
2745 KRK.ToolsAPI in '..\..\SRC\ToolsAPI\KRK.ToolsAPI.pas',
2846 KRK.Rtl.Common.Classes.Interposer in '..\..\SRC\Rtl\Common\KRK.Rtl.Common.Classes.Interposer.pas',
2947 KRK.Rtl.Common.Classes in '..\..\SRC\Rtl\Common\KRK.Rtl.Common.Classes.pas',
--- trunk/rtp/src/Rtl/Common/KRK.Rtl.Common.Classes.pas (revision 576)
+++ trunk/rtp/src/Rtl/Common/KRK.Rtl.Common.Classes.pas (revision 577)
@@ -284,12 +284,6 @@
284284
285285 TCreationTime = (ctUndefined, ctDesignTime, ctRunTime);
286286
287- TTTNLinkClick = function (ANMLink: TNMLink): Boolean of object;
288- TTTNGetDispInfo = function (ANMDispInfo: {$IFDEF UNICODE}PNMTTDispInfoW{$ELSE}PNMTTDispInfoA{$ENDIF}): Boolean of object;
289- TTTNShow = function (ANMHdr: TNMHdr): Boolean of object;
290- TTTNPop = function (ANMHdr: TNMHdr): Boolean of object;
291- TTTNCustomDraw = function (ANMTTCustomDraw: TNMTTCustomDraw): Boolean of object;
292-
293287 TPersistentRect = class(TPersistent)
294288 private
295289 FRect: TRect;
@@ -316,14 +310,6 @@
316310 property OnChange: TNotifyEvent read FOnChange write FOnChange;
317311 end;
318312
319-//: Use esta função para manipular mensagens de notificação de ToolTips (TTN_*).
320-//: Esta função deve retornar true para indicar que a mensagem foi processada e
321-//: que não é necessário propagá-la ao pai da janela que a recebeu. O retorno
322-//: dessa função depende do retorno de um manipulador de evento que manipula uma
323-//: mensagem específica, portanto, quem decide se deve haver a propagação da
324-//: mensagem é o programador que escreve os manipuladores dos eventos
325-function HandleToolTipNotificationMessages(var AMessage: TWMNotify; AOnTTNLinkClick: TTTNLinkClick; AOnTTNGetDispInfo: TTTNGetDispInfo; AOnTTNShow: TTTNShow; AOnTTNPop: TTTNPop; AOnTTNCustomDraw: TTTNCustomDraw): Boolean;
326-
327313 // Converte um procedure ou função para um método de um objeto, permitindo que
328314 // um procedure ou função não associado a um objeto possa ser usado como
329315 // manipulador de evento de um objeto qualquer. Pode ser necessário um
@@ -363,32 +349,6 @@
363349 uses
364350 RTLConsts, TypInfo, XMLDoc, KRK.Rtl.Common.FileUtils, KRK.Rtl.Win.CommCtrl;
365351
366-function HandleToolTipNotificationMessages(var AMessage: TWMNotify; AOnTTNLinkClick: TTTNLinkClick; AOnTTNGetDispInfo: TTTNGetDispInfo; AOnTTNShow: TTTNShow; AOnTTNPop: TTTNPop; AOnTTNCustomDraw: TTTNCustomDraw): Boolean;
367-begin
368- // Por padrão esta função retorna false, indicando que a mensagem recebida
369- // precisa ser propagada para o pai da janela que recebeu a mensagem de
370- // notificação
371- Result := False;
372-
373- case AMessage.NMHdr.code of
374- TTN_LINKCLICK:
375- if Assigned(AOnTTNLinkClick) then
376- Result := AOnTTNLinkClick(PNMLink(AMessage.NMHdr)^);
377- TTN_GETDISPINFO:
378- if Assigned(AOnTTNGetDispInfo) then
379- Result := AOnTTNGetDispInfo({$IFDEF UNICODE}PNMTTDispInfoW{$ELSE}PNMTTDispInfoA{$ENDIF}(AMessage.NMHdr));
380- TTN_SHOW:
381- if Assigned(AOnTTNShow) then
382- Result := AOnTTNShow(AMessage.NMHdr^);
383- TTN_POP:
384- if Assigned(AOnTTNPop) then
385- Result := AOnTTNPop(AMessage.NMHdr^);
386- NM_CUSTOMDRAW: { ToolTip }
387- if Assigned(AOnTTNCustomDraw) then
388- Result := AOnTTNCustomDraw(PNMTTCustomDraw(AMessage.NMHdr)^)
389- end;
390-end;
391-
392352 { EKRKHTTPException }
393353
394354 constructor EKRKHTTPException.Create(const AStatusText: String; const AStatusCode: Word; const AURL: String);
--- trunk/rtp/src/Rtl/Sys/KRK.Rtl.Sys.System.SysUtils.pas (revision 576)
+++ trunk/rtp/src/Rtl/Sys/KRK.Rtl.Sys.System.SysUtils.pas (revision 577)
@@ -39,6 +39,9 @@
3939 end;
4040
4141 function DelphiModuleInfo(AModuleFileName: String): TDelphiModuleInfo;
42+{$IF RTLVersion <= 18} { Delphi 2006 }
43+function TryStrToUInt(const S: string; out Value: Cardinal): Boolean;
44+{$IFEND}
4245
4346 implementation
4447
@@ -146,4 +149,16 @@
146149 end;
147150 end;
148151
152+{$IF RTLVersion <= 18} { Delphi 2006 }
153+function TryStrToUInt(const S: string; out Value: Cardinal): Boolean;
154+var
155+ I64: Int64;
156+ E: Integer;
157+begin
158+ Val(S, I64, E);
159+ Value := I64;
160+ Result := (E = 0) and (0 <= I64) and (I64 <= 4294967295);
161+end;
162+{$IFEND}
163+
149164 end.
--- trunk/rtp/src/Rtl/Sys/KRK.Rtl.Sys.System.pas (revision 576)
+++ trunk/rtp/src/Rtl/Sys/KRK.Rtl.Sys.System.pas (revision 577)
@@ -15,11 +15,12 @@
1515 Size: DWORD;
1616 StringFormat: TStringFormat;
1717 end;
18-{$IF RTLVersion < 20}
18+{$IF RTLVersion < 20} { Delphi 2009 }
1919 RawByteString = AnsiString;
2020 UnicodeString = WideString;
2121 TDate = type TDateTime;
2222 TTime = type TDateTime;
23+ UIntPtr = NativeUInt;
2324 {$IFEND}
2425
2526
--- trunk/rtp/src/Rtl/Win/KRK.Rtl.Win.CommCtrl.pas (revision 576)
+++ trunk/rtp/src/Rtl/Win/KRK.Rtl.Win.CommCtrl.pas (revision 577)
@@ -4,7 +4,7 @@
44
55 uses
66 Windows, Messages, CommCtrl, Graphics, Controls, Classes,
7- KRK.Rtl.Common.Classes;
7+ KRK.Rtl.Sys.System, KRK.Rtl.Win.Windows, KRK.Rtl.Common.Classes;
88
99 type
1010 TToolTipStyle = (ttsAlwaysTip, ttsBalloon, ttsClose, ttsNoAnimate, ttsNoFade, ttsNoPrefix, ttsUseVisualStyle);
@@ -456,20 +456,36 @@
456456 end;
457457
458458 const
459- {$IF RTLVersion <= 18} { Delphi 2006}
459+{$IF RTLVersion <= 18} { Delphi 2006 }
460460 TOOLTIPS_CLASS = 'tooltips_class32';
461+ MAX_LINKID_TEXT = 48;
462+ L_MAX_URL_LENGTH = 2048 + 32 + length('://') + 1;
463+{$IFEND}
464+ // Notificações de Tool Tip (TTN).
465+ // São códigos usados para diferenciar vários tipos de mensagens que são
466+ // enviadas como notificação (WM_NOTIFY) para a janela do controle pai (membro
467+ // hwnd de TOOLINFO)
468+ TTN_LINKCLICK = TTN_FIRST - 3;
469+{$IF RTLVersion <= 18} { Delphi 2006 }
470+ TTN_GETDISPINFOA = TTN_FIRST - 0;
471+ TTN_GETDISPINFOW = TTN_FIRST - 10;
472+ TTN_GETDISPINFO = {$IFDEF UNICODE}TTN_GETDISPINFOW{$ELSE}TTN_GETDISPINFOA{$ENDIF};
461473
462- // Mensagens de Tool Tip (TTM)
463- TTM_SETTITLEA = WM_USER + 32; { wParam = TTI_*, lParam = char* szTitle }
464- TTM_SETTITLEW = WM_USER + 33; { wParam = TTI_*, lParam = wchar* szTitle }
465- // No Delphi Rio TTM_SETTITLE sempre é a versão W, o que obriga o usuário a
466- // usar sempre as versões unicode de tudo que estiver relacionado. Não sei se
467- // isso é certo, mas pra mim agora não faz diferença
468- TTM_SETTITLE = {$IFDEF UNICODE}TTM_SETTITLEW{$ELSE}TTM_SETTITLEA{$ENDIF};
474+ // Ícones do ToolTip (TTI)
475+ TTI_NONE = 0;
476+ TTI_INFO = 1;
477+ TTI_WARNING = 2;
478+ TTI_ERROR = 3;
479+ TTI_INFO_LARGE = 4;
480+ TTI_WARNING_LARGE = 5;
481+ TTI_ERROR_LARGE = 6;
469482
470- // Estilos de Tool Tip (TTS)
471- TTS_BALLOON = $40;
472- TTS_CLOSE = $80;
483+ // Estilos da janela de Tool Tip (TTS)
484+ TTS_NOANIMATE = $10;
485+ TTS_NOFADE = $20;
486+ TTS_BALLOON = $40;
487+ TTS_CLOSE = $80;
488+ TTS_USEVISUALSTYLE = $100;
473489
474490 // Flags de Tool Tip (TTF)
475491 // TTF_TRANSPARENT se setado, encaminha para o controle pai (membro hwnd de
@@ -481,17 +497,55 @@
481497 // fazer o balão aparecer quando o cursor estiver sobre o controle associado,
482498 // o que eu chamo de ToolTip automático.
483499 TTF_PARSELINKS = $1000;
484- {$IFEND}
485- // Notificações de Tool Tip (TTN).
486- // São códigos usados para diferenciar vários tipos de mensagens que são
487- // enviadas como notificação (WM_NOTIFY) para a janela do controle pai (membro
488- // hwnd de TOOLINFO)
489- TTN_LINKCLICK = TTN_FIRST - 3;
490500
501+ // Mensagens de Tool Tip (TTM)
502+ TTM_SETTITLEA = WM_USER + 32; { wParam = TTI_*, lParam = char* szTitle }
503+ TTM_SETTITLEW = WM_USER + 33; { wParam = TTI_*, lParam = wchar* szTitle }
504+ // No Delphi Rio TTM_SETTITLE sempre é a versão W, o que obriga o usuário a
505+ // usar sempre as versões unicode de tudo que estiver relacionado. Não sei se
506+ // isso é certo, mas pra mim agora não faz diferença
507+ TTM_SETTITLE = {$IFDEF UNICODE}TTM_SETTITLEW{$ELSE}TTM_SETTITLEA{$ENDIF};
508+
509+type
510+ tagLITEM = record
511+ mask: UINT;
512+ iLink: Integer;
513+ state: UINT;
514+ stateMask: UINT;
515+ szID: packed array[0..MAX_LINKID_TEXT-1] of WCHAR;
516+ szUrl: packed array[0..L_MAX_URL_LENGTH-1] of WCHAR;
517+ end;
518+ PLItem = ^TLItem;
519+ TLItem = tagLITEM;
520+
521+ tagNMLINK = record
522+ hdr: NMHDR;
523+ item: TLItem;
524+ end;
525+ PNMLink = ^TNMLink;
526+ TNMLink = tagNMLINK;
527+{$IFEND}
528+
529+type
530+ TTTNLinkClick = function (ANMLink: TNMLink): Boolean of object;
531+ TTTNGetDispInfo = function (ANMDispInfo: {$IFDEF UNICODE}PNMTTDispInfoW{$ELSE}PNMTTDispInfoA{$ENDIF}): Boolean of object;
532+ TTTNShow = function (ANMHdr: TNMHdr): Boolean of object;
533+ TTTNPop = function (ANMHdr: TNMHdr): Boolean of object;
534+ TTTNCustomDraw = function (ANMTTCustomDraw: TNMTTCustomDraw): Boolean of object;
535+
536+//: Use esta função para manipular mensagens de notificação de ToolTips (TTN_*).
537+//: Esta função deve retornar true para indicar que a mensagem foi processada e
538+//: que não é necessário propagá-la ao pai da janela que a recebeu. O retorno
539+//: dessa função depende do retorno de um manipulador de evento que manipula uma
540+//: mensagem específica, portanto, quem decide se deve haver a propagação da
541+//: mensagem é o programador que escreve os manipuladores dos eventos
542+function HandleToolTipNotificationMessages(var AMessage: TWMNotify; AOnTTNLinkClick: TTTNLinkClick; AOnTTNGetDispInfo: TTTNGetDispInfo; AOnTTNShow: TTTNShow; AOnTTNPop: TTTNPop; AOnTTNCustomDraw: TTTNCustomDraw): Boolean;
543+
491544 implementation
492545
493546 uses
494- UITypes, SysUtils, Forms, Types;
547+ {$IF CompilerVersion >= 19}UITypes,{$IFEND} { Delphi 2007 } SysUtils, Forms,
548+ Types, KRK.Rtl.Sys.System.SysUtils;
495549
496550 const
497551 // Tamanho máximo do texto do ToolTip, em caracteres. O texto do ToolTip pode
@@ -1581,4 +1635,30 @@
15811635 Inc(FIndex);
15821636 end;
15831637
1638+function HandleToolTipNotificationMessages(var AMessage: TWMNotify; AOnTTNLinkClick: TTTNLinkClick; AOnTTNGetDispInfo: TTTNGetDispInfo; AOnTTNShow: TTTNShow; AOnTTNPop: TTTNPop; AOnTTNCustomDraw: TTTNCustomDraw): Boolean;
1639+begin
1640+ // Por padrão esta função retorna false, indicando que a mensagem recebida
1641+ // precisa ser propagada para o pai da janela que recebeu a mensagem de
1642+ // notificação
1643+ Result := False;
1644+
1645+ case AMessage.NMHdr.code of
1646+ TTN_LINKCLICK:
1647+ if Assigned(AOnTTNLinkClick) then
1648+ Result := AOnTTNLinkClick(PNMLink(AMessage.NMHdr)^);
1649+ TTN_GETDISPINFO:
1650+ if Assigned(AOnTTNGetDispInfo) then
1651+ Result := AOnTTNGetDispInfo({$IFDEF UNICODE}PNMTTDispInfoW{$ELSE}PNMTTDispInfoA{$ENDIF}(AMessage.NMHdr));
1652+ TTN_SHOW:
1653+ if Assigned(AOnTTNShow) then
1654+ Result := AOnTTNShow(AMessage.NMHdr^);
1655+ TTN_POP:
1656+ if Assigned(AOnTTNPop) then
1657+ Result := AOnTTNPop(AMessage.NMHdr^);
1658+ NM_CUSTOMDRAW: { ToolTip }
1659+ if Assigned(AOnTTNCustomDraw) then
1660+ Result := AOnTTNCustomDraw(PNMTTCustomDraw(AMessage.NMHdr)^)
1661+ end;
1662+end;
1663+
15841664 end.
--- trunk/rtp/src/Vcl/KRK.Vcl.Forms.pas (revision 576)
+++ trunk/rtp/src/Vcl/KRK.Vcl.Forms.pas (revision 577)
@@ -5,7 +5,7 @@
55 uses
66 Forms, Messages, Buttons, Controls, Graphics, Windows, ExtCtrls,
77 Midas, SoapMidas, Provider, SyncObjs, Types, DB, DBClient, Classes,
8- KRK.Vcl.StdCtrls, KRK.Rtl.Common.Classes;
8+ KRK.Vcl.StdCtrls, KRK.Rtl.Common.Classes, KRK.Rtl.Win.CommCtrl;
99
1010 type
1111 TVisibleButton = (vbOk,vbYes,vbYesToAll,vbNo,vbIgnore,vbCancel,vbClose,vbHelp);
@@ -482,8 +482,8 @@
482482 implementation
483483
484484 uses
485- {$IF RTLVersion >= 24}Themes{$IFEND} { Delphi XE3 }, CommCtrl, SysUtils,
486- MidConst, Variants, ComObj, KRK.Rtl.Win.CommCtrl;
485+ {$IF RTLVersion >= 24}Themes, {$IFEND} { Delphi XE3 }CommCtrl, SysUtils,
486+ MidConst, Variants, ComObj;
487487
488488 { TCustomKRKForm }
489489
@@ -584,12 +584,12 @@
584584 // outro lado, não é necessário fazer nada, pois os Handles de todos os
585585 // controles (TWinControl) são únicos dentro da aplicação, assim TOOLINFO.uId
586586 // vai receber apenas o handle do TWinControl associado
587- if not KRK.Rtl.Common.Classes.HandleToolTipNotificationMessages(AMessage
588- ,FTTNLinkClick
589- ,FTTNGetDispInfo
590- ,FTTNShow
591- ,FTTNPop
592- ,FTTNCustomDraw) then
587+ if not KRK.Rtl.Win.CommCtrl.HandleToolTipNotificationMessages(AMessage
588+ ,FTTNLinkClick
589+ ,FTTNGetDispInfo
590+ ,FTTNShow
591+ ,FTTNPop
592+ ,FTTNCustomDraw) then
593593 if Assigned(Parent) then
594594 SendMessage(Parent.Handle,AMessage.Msg,AMessage.IDCtrl,LPARAM(AMessage.NMHdr));
595595 // Executa o processamento normal da mensagem WM_NOTIFY
--- trunk/rtp/src/Vcl/KRK.Vcl.StdCtrls.pas (revision 576)
+++ trunk/rtp/src/Vcl/KRK.Vcl.StdCtrls.pas (revision 577)
@@ -4,7 +4,7 @@
44
55 uses
66 StdCtrls, Windows, Controls, Graphics, Classes, ExtCtrls, GraphUtil, Messages,
7- KRK.Rtl.Common.Classes;
7+ KRK.Rtl.Win.CommCtrl;
88
99 type
1010 TCustomKRKGroupBox = class(TCustomGroupBox)
@@ -453,12 +453,12 @@
453453 // outro lado, não é necessário fazer nada, pois os Handles de todos os
454454 // controles (TWinControl) são únicos dentro da aplicação, assim TOOLINFO.uId
455455 // vai receber apenas o handle do TWinControl associado
456- if not KRK.Rtl.Common.Classes.HandleToolTipNotificationMessages(AMessage
457- ,FTTNLinkClick
458- ,FTTNGetDispInfo
459- ,FTTNShow
460- ,FTTNPop
461- ,FTTNCustomDraw) then
456+ if not KRK.Rtl.Win.CommCtrl.HandleToolTipNotificationMessages(AMessage
457+ ,FTTNLinkClick
458+ ,FTTNGetDispInfo
459+ ,FTTNShow
460+ ,FTTNPop
461+ ,FTTNCustomDraw) then
462462 if Assigned(Parent) then
463463 SendMessage(Parent.Handle,AMessage.Msg,AMessage.IDCtrl,LPARAM(AMessage.NMHdr));
464464 // Executa o processamento normal da mensagem WM_NOTIFY
Show on old repository browser