Changeset 572 for CoolStreaming
- Timestamp:
- Jun 25, 2024, 1:37:11 AM (5 months ago)
- Location:
- CoolStreaming
- Files:
-
- 15 edited
- 7 moved
Legend:
- Unmodified
- Added
- Removed
-
CoolStreaming/BitStream.pas
r571 r572 1 unit UBitStream;1 unit BitStream; 2 2 3 3 // Date: 2010-08-17 4 4 5 {$mode delphi}6 7 5 interface 8 6 9 7 uses 10 Classes, SysUtils, RtlConsts, Math, UMemory;8 Classes, SysUtils, RtlConsts, Math, Memory; 11 9 12 10 type … … 343 341 destructor TMemoryBitStream.Destroy; 344 342 begin 345 F Memory.Free;346 inherited Destroy;343 FreeAndNil(FMemory); 344 inherited; 347 345 end; 348 346 -
CoolStreaming/BufferedFileStream.pas
r571 r572 1 unit UBufferedFileStream;1 unit BufferedFileStream; 2 2 3 3 interface … … 31 31 property BufferUsed: Integer read GetBufferUsed; 32 32 end; 33 33 34 34 35 implementation -
CoolStreaming/CoolStreaming.lpk
r405 r572 1 <?xml version="1.0" ?>1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <CONFIG> 3 <Package Version=" 4">3 <Package Version="5"> 4 4 <PathDelim Value="\"/> 5 5 <Name Value="CoolStreaming"/> 6 <Type Value="RunAndDesignTime"/> 6 7 <AddToProjectUsesSection Value="True"/> 7 8 <Author Value="Chronos"/> … … 10 11 <PathDelim Value="\"/> 11 12 <SearchPaths> 12 <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS) "/>13 <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)-$(BuildMode)"/> 13 14 </SearchPaths> 15 <Parsing> 16 <SyntaxOptions> 17 <SyntaxMode Value="Delphi"/> 18 <CStyleOperator Value="False"/> 19 <AllowLabel Value="False"/> 20 <CPPInline Value="False"/> 21 </SyntaxOptions> 22 </Parsing> 23 <CodeGeneration> 24 <Optimizations> 25 <OptimizationLevel Value="0"/> 26 </Optimizations> 27 </CodeGeneration> 28 <Linking> 29 <Debugging> 30 <GenerateDebugInfo Value="False"/> 31 </Debugging> 32 </Linking> 14 33 <Other> 15 <CompilerPath Value="$(CompPath)"/> 34 <CompilerMessages> 35 <IgnoredMessages idx5024="True"/> 36 </CompilerMessages> 16 37 </Other> 17 38 </CompilerOptions> 18 39 <Description Value="Contains various streaming classes."/> 19 40 <License Value="GNU/GPL"/> 20 <Version Minor=" 1"/>41 <Version Minor="2"/> 21 42 <Files Count="7"> 22 43 <Item1> 23 <Filename Value=" UStreamHelper.pas"/>24 <UnitName Value=" UStreamHelper"/>44 <Filename Value="StreamHelper.pas"/> 45 <UnitName Value="StreamHelper"/> 25 46 </Item1> 26 47 <Item2> 27 <Filename Value=" USubStream.pas"/>28 <UnitName Value=" USubStream"/>48 <Filename Value="SubStream.pas"/> 49 <UnitName Value="SubStream"/> 29 50 </Item2> 30 51 <Item3> 31 <Filename Value=" UVarBlockSerializer.pas"/>32 <UnitName Value=" UVarBlockSerializer"/>52 <Filename Value="VarBlockSerializer.pas"/> 53 <UnitName Value="VarBlockSerializer"/> 33 54 </Item3> 34 55 <Item4> 35 <Filename Value=" UBufferedFileStream.pas"/>36 <UnitName Value=" UBufferedFileStream"/>56 <Filename Value="BufferedFileStream.pas"/> 57 <UnitName Value="BufferedFileStream"/> 37 58 </Item4> 38 59 <Item5> 39 <Filename Value=" UTextFileStream.pas"/>40 <UnitName Value=" UTextFileStream"/>60 <Filename Value="TextFileStream.pas"/> 61 <UnitName Value="TextFileStream"/> 41 62 </Item5> 42 63 <Item6> 43 <Filename Value=" UBitStream.pas"/>44 <UnitName Value=" UBitStream"/>64 <Filename Value="BitStream.pas"/> 65 <UnitName Value="BitStream"/> 45 66 </Item6> 46 67 <Item7> 47 <Filename Value=" UDynNumber.pas"/>48 <UnitName Value=" UDynNumber"/>68 <Filename Value="DynNumber.pas"/> 69 <UnitName Value="DynNumber"/> 49 70 </Item7> 50 71 </Files> 51 <Type Value="RunAndDesignTime"/> 52 <RequiredPkgs Count="2"> 72 <CompatibilityMode Value="True"/> 73 <i18n> 74 <EnableI18N Value="True"/> 75 <OutDir Value="Languages"/> 76 </i18n> 77 <RequiredPkgs Count="3"> 53 78 <Item1> 54 <PackageName Value=" Common"/>79 <PackageName Value="TemplateGenerics"/> 55 80 </Item1> 56 81 <Item2> 82 <PackageName Value="Common"/> 83 </Item2> 84 <Item3> 57 85 <PackageName Value="FCL"/> 58 86 <MinVersion Major="1" Valid="True"/> 59 </Item 2>87 </Item3> 60 88 </RequiredPkgs> 61 89 <UsageOptions> -
CoolStreaming/CoolStreaming.pas
r125 r572 3 3 } 4 4 5 unit CoolStreaming; 5 unit CoolStreaming; 6 6 7 7 interface 8 8 9 9 uses 10 UStreamHelper, USubStream, UVarBlockSerializer, UBufferedFileStream,11 UTextFileStream, UBitStream, UDynNumber, LazarusPackageIntf;10 StreamHelper, SubStream, VarBlockSerializer, BufferedFileStream, 11 TextFileStream, BitStream, DynNumber, LazarusPackageIntf; 12 12 13 13 implementation 14 14 15 procedure Register; 15 procedure Register; 16 16 begin 17 end; 17 end; 18 18 19 19 initialization 20 RegisterPackage('CoolStreaming', @Register); 20 RegisterPackage('CoolStreaming', @Register); 21 21 end. -
CoolStreaming/Demo/BitStream/BitStreamTest.lpi
r249 r572 1 <?xml version="1.0" ?>1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <CONFIG> 3 3 <ProjectOptions> 4 <Version Value=" 9"/>4 <Version Value="12"/> 5 5 <PathDelim Value="\"/> 6 6 <General> 7 <MainUnit Value="0"/> 7 <Flags> 8 <CompatibilityMode Value="True"/> 9 </Flags> 8 10 <Title Value="BitStreamTest"/> 9 11 <ResourceType Value="res"/> 10 12 <UseXPManifest Value="True"/> 11 13 <Icon Value="0"/> 12 <ActiveWindowIndexAtStart Value="0"/>13 14 </General> 14 15 <i18n> … … 18 19 <Language Value=""/> 19 20 <CharSet Value=""/> 20 <StringTable ProductVersion=""/>21 21 </VersionInfo> 22 22 <BuildModes Count="1"> … … 25 25 <PublishOptions> 26 26 <Version Value="2"/> 27 <IgnoreBinaries Value="False"/>28 <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>29 <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>30 27 </PublishOptions> 31 28 <RunParams> 32 <local> 33 <FormatVersion Value="1"/> 34 </local> 29 <FormatVersion Value="2"/> 30 <Modes Count="1"> 31 <Mode0 Name="default"/> 32 </Modes> 35 33 </RunParams> 36 34 <RequiredPackages Count="2"> … … 46 44 <Filename Value="BitStreamTest.lpr"/> 47 45 <IsPartOfProject Value="True"/> 48 <UnitName Value="BitStreamTest"/> 49 <EditorIndex Value="3"/> 50 <WindowIndex Value="0"/> 51 <TopLine Value="1"/> 46 <EditorIndex Value="1"/> 52 47 <CursorPos X="32" Y="15"/> 53 48 <UsageCount Value="23"/> 54 49 <Loaded Value="True"/> 55 <DefaultSyntaxHighlighter Value="Delphi"/>56 50 </Unit0> 57 51 <Unit1> … … 59 53 <IsPartOfProject Value="True"/> 60 54 <ComponentName Value="MainForm"/> 55 <HasResources Value="True"/> 61 56 <ResourceBaseClass Value="Form"/> 62 <UnitName Value="UMainForm"/> 63 <EditorIndex Value="0"/> 64 <WindowIndex Value="0"/> 65 <TopLine Value="123"/> 66 <CursorPos X="25" Y="138"/> 57 <IsVisibleTab Value="True"/> 58 <CursorPos X="46" Y="30"/> 67 59 <UsageCount Value="23"/> 68 60 <Loaded Value="True"/> 69 61 <LoadedDesigner Value="True"/> 70 <DefaultSyntaxHighlighter Value="Delphi"/>71 62 </Unit1> 72 63 <Unit2> 73 64 <Filename Value="UBitStream.pas"/> 74 <UnitName Value="UBitStream"/>75 <WindowIndex Value="0"/>76 65 <TopLine Value="202"/> 77 66 <CursorPos X="9" Y="221"/> … … 82 71 <Filename Value="E:\Programy\Lazarus\lcl\controls.pp"/> 83 72 <UnitName Value="Controls"/> 84 <WindowIndex Value="0"/>85 73 <TopLine Value="1207"/> 86 74 <CursorPos X="14" Y="1220"/> … … 89 77 <Unit4> 90 78 <Filename Value="E:\Programy\Lazarus\fpc\2.4.0\source\rtl\objpas\math.pp"/> 91 <UnitName Value="math"/>92 <WindowIndex Value="0"/>93 79 <TopLine Value="929"/> 94 80 <CursorPos X="5" Y="932"/> … … 97 83 <Unit5> 98 84 <Filename Value="E:\Programy\Lazarus\fpc\2.4.3\source\rtl\objpas\sysutils\sysutilh.inc"/> 99 <WindowIndex Value="0"/>100 85 <TopLine Value="84"/> 101 86 <CursorPos X="79" Y="89"/> … … 104 89 <Unit6> 105 90 <Filename Value="..\..\UBitStream.pas"/> 106 <UnitName Value="UBitStream"/> 107 <IsVisibleTab Value="True"/> 108 <EditorIndex Value="1"/> 109 <WindowIndex Value="0"/> 91 <EditorIndex Value="-1"/> 110 92 <TopLine Value="244"/> 111 93 <CursorPos X="7" Y="263"/> 112 94 <UsageCount Value="11"/> 113 <Loaded Value="True"/>114 95 </Unit6> 115 96 <Unit7> 116 97 <Filename Value="H:\0.9.30_2.4.2\fpc\2.4.2\source\rtl\objpas\classes\classesh.inc"/> 117 <EditorIndex Value="2"/> 118 <WindowIndex Value="0"/> 98 <EditorIndex Value="-1"/> 119 99 <TopLine Value="779"/> 120 100 <CursorPos X="14" Y="792"/> 121 101 <UsageCount Value="11"/> 122 <Loaded Value="True"/>123 102 </Unit7> 124 103 </Units> 125 <JumpHistory Count=" 30" HistoryIndex="29">104 <JumpHistory Count="6" HistoryIndex="5"> 126 105 <Position1> 127 <Filename Value=" ..\..\UBitStream.pas"/>128 <Caret Line=" 293" Column="1" TopLine="275"/>106 <Filename Value="UMainForm.pas"/> 107 <Caret Line="183" TopLine="169"/> 129 108 </Position1> 130 109 <Position2> 131 <Filename Value=" ..\..\UBitStream.pas"/>132 <Caret Line=" 294" Column="1" TopLine="275"/>110 <Filename Value="UMainForm.pas"/> 111 <Caret Line="192" Column="14" TopLine="179"/> 133 112 </Position2> 134 113 <Position3> 135 <Filename Value=" ..\..\UBitStream.pas"/>136 <Caret Line=" 295" Column="1" TopLine="275"/>114 <Filename Value="UMainForm.pas"/> 115 <Caret Line="197" TopLine="179"/> 137 116 </Position3> 138 117 <Position4> 139 <Filename Value=" ..\..\UBitStream.pas"/>140 <Caret Line=" 296" Column="1" TopLine="275"/>118 <Filename Value="UMainForm.pas"/> 119 <Caret Line="190" TopLine="167"/> 141 120 </Position4> 142 121 <Position5> 143 <Filename Value=" ..\..\UBitStream.pas"/>144 <Caret Line=" 297" Column="1" TopLine="276"/>122 <Filename Value="UMainForm.pas"/> 123 <Caret Line="191" Column="44" TopLine="155"/> 145 124 </Position5> 146 125 <Position6> 147 <Filename Value="..\..\UBitStream.pas"/>148 <Caret Line="298" Column="33" TopLine="287"/>149 </Position6>150 <Position7>151 <Filename Value="UMainForm.pas"/>152 <Caret Line="183" Column="1" TopLine="169"/>153 </Position7>154 <Position8>155 <Filename Value="..\..\UBitStream.pas"/>156 <Caret Line="288" Column="1" TopLine="283"/>157 </Position8>158 <Position9>159 <Filename Value="..\..\UBitStream.pas"/>160 <Caret Line="291" Column="1" TopLine="283"/>161 </Position9>162 <Position10>163 <Filename Value="..\..\UBitStream.pas"/>164 <Caret Line="292" Column="1" TopLine="283"/>165 </Position10>166 <Position11>167 <Filename Value="..\..\UBitStream.pas"/>168 <Caret Line="293" Column="1" TopLine="283"/>169 </Position11>170 <Position12>171 <Filename Value="..\..\UBitStream.pas"/>172 <Caret Line="294" Column="1" TopLine="283"/>173 </Position12>174 <Position13>175 <Filename Value="..\..\UBitStream.pas"/>176 <Caret Line="295" Column="1" TopLine="283"/>177 </Position13>178 <Position14>179 <Filename Value="..\..\UBitStream.pas"/>180 <Caret Line="296" Column="1" TopLine="283"/>181 </Position14>182 <Position15>183 <Filename Value="..\..\UBitStream.pas"/>184 <Caret Line="297" Column="1" TopLine="283"/>185 </Position15>186 <Position16>187 <Filename Value="..\..\UBitStream.pas"/>188 <Caret Line="298" Column="1" TopLine="283"/>189 </Position16>190 <Position17>191 <Filename Value="..\..\UBitStream.pas"/>192 <Caret Line="299" Column="1" TopLine="283"/>193 </Position17>194 <Position18>195 <Filename Value="..\..\UBitStream.pas"/>196 <Caret Line="300" Column="1" TopLine="286"/>197 </Position18>198 <Position19>199 <Filename Value="..\..\UBitStream.pas"/>200 <Caret Line="303" Column="1" TopLine="286"/>201 </Position19>202 <Position20>203 <Filename Value="..\..\UBitStream.pas"/>204 <Caret Line="306" Column="1" TopLine="286"/>205 </Position20>206 <Position21>207 <Filename Value="..\..\UBitStream.pas"/>208 <Caret Line="312" Column="1" TopLine="299"/>209 </Position21>210 <Position22>211 <Filename Value="..\..\UBitStream.pas"/>212 <Caret Line="313" Column="1" TopLine="299"/>213 </Position22>214 <Position23>215 <Filename Value="..\..\UBitStream.pas"/>216 <Caret Line="315" Column="1" TopLine="299"/>217 </Position23>218 <Position24>219 <Filename Value="..\..\UBitStream.pas"/>220 <Caret Line="316" Column="1" TopLine="299"/>221 </Position24>222 <Position25>223 <Filename Value="..\..\UBitStream.pas"/>224 <Caret Line="298" Column="14" TopLine="287"/>225 </Position25>226 <Position26>227 <Filename Value="UMainForm.pas"/>228 <Caret Line="192" Column="14" TopLine="179"/>229 </Position26>230 <Position27>231 <Filename Value="UMainForm.pas"/>232 <Caret Line="197" Column="1" TopLine="179"/>233 </Position27>234 <Position28>235 <Filename Value="UMainForm.pas"/>236 <Caret Line="190" Column="1" TopLine="167"/>237 </Position28>238 <Position29>239 <Filename Value="UMainForm.pas"/>240 <Caret Line="191" Column="44" TopLine="155"/>241 </Position29>242 <Position30>243 126 <Filename Value="UMainForm.pas"/> 244 127 <Caret Line="138" Column="25" TopLine="123"/> 245 </Position 30>128 </Position6> 246 129 </JumpHistory> 247 130 </ProjectOptions> 248 131 <CompilerOptions> 249 <Version Value=" 9"/>132 <Version Value="11"/> 250 133 <PathDelim Value="\"/> 251 134 <Target> … … 270 153 </CodeGeneration> 271 154 <Linking> 155 <Debugging> 156 <DebugInfoType Value="dsDwarf3"/> 157 </Debugging> 272 158 <Options> 273 159 <Win32> … … 276 162 </Options> 277 163 </Linking> 278 <Other>279 <CompilerMessages>280 <UseMsgFile Value="True"/>281 </CompilerMessages>282 <CompilerPath Value="$(CompPath)"/>283 </Other>284 164 </CompilerOptions> 285 165 <Debugging> -
CoolStreaming/Demo/BitStream/UMainForm.lfm
r249 r572 1 1 object MainForm: TMainForm 2 2 Left = 288 3 Height = 4143 Height = 621 4 4 Top = 117 5 Width = 6135 Width = 920 6 6 Caption = 'BitStream test' 7 ClientHeight = 414 8 ClientWidth = 613 7 ClientHeight = 621 8 ClientWidth = 920 9 DesignTimePPI = 144 9 10 OnShow = FormShow 10 LCLVersion = ' 0.9.30'11 LCLVersion = '3.4.0.0' 11 12 object Memo1: TMemo 12 Left = 813 Height = 36414 Top = 4015 Width = 59913 Left = 12 14 Height = 546 15 Top = 60 16 Width = 899 16 17 Anchors = [akTop, akLeft, akRight, akBottom] 17 18 Font.Name = 'Courier' … … 21 22 end 22 23 object Button1: TButton 23 Left = 924 Height = 2525 Top = 726 Width = 7524 Left = 14 25 Height = 38 26 Top = 10 27 Width = 112 27 28 Caption = 'Base test' 29 TabOrder = 1 28 30 OnClick = Button1Click 29 TabOrder = 130 31 end 31 32 object Button2: TButton 32 Left = 9333 Height = 2534 Top = 735 Width = 7533 Left = 140 34 Height = 38 35 Top = 10 36 Width = 112 36 37 Caption = 'Read test' 38 TabOrder = 2 37 39 OnClick = Button2Click 38 TabOrder = 239 40 end 40 41 object Button3: TButton 41 Left = 17642 Height = 2543 Top = 744 Width = 7542 Left = 264 43 Height = 38 44 Top = 10 45 Width = 112 45 46 Caption = 'Write test' 47 TabOrder = 3 46 48 OnClick = Button3Click 47 TabOrder = 348 49 end 49 50 end -
CoolStreaming/Demo/BitStream/UMainForm.pas
r249 r572 1 1 unit UMainForm; 2 3 {$mode objfpc}{$H+}4 2 5 3 interface … … 7 5 uses 8 6 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, 9 UBitStream;7 BitStream; 10 8 11 9 type … … 32 30 var 33 31 MainForm: TMainForm; 32 34 33 35 34 implementation -
CoolStreaming/Demo/DynNumber/DynNumberDemo.lpi
r128 r572 1 <?xml version="1.0" ?>1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <CONFIG> 3 3 <ProjectOptions> 4 <Version Value=" 9"/>4 <Version Value="12"/> 5 5 <PathDelim Value="\"/> 6 6 <General> 7 <MainUnit Value="0"/> 7 <Flags> 8 <CompatibilityMode Value="True"/> 9 </Flags> 8 10 <ResourceType Value="res"/> 9 11 <UseXPManifest Value="True"/> 10 12 <Icon Value="0"/> 11 <ActiveWindowIndexAtStart Value="0"/>12 13 </General> 13 14 <i18n> 14 15 <EnableI18N LFM="False"/> 15 16 </i18n> 16 <VersionInfo>17 <StringTable ProductVersion=""/>18 </VersionInfo>19 17 <BuildModes Count="1" Active="Default"> 20 18 <Item1 Name="Default" Default="True"/> … … 22 20 <PublishOptions> 23 21 <Version Value="2"/> 24 <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>25 <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>26 22 </PublishOptions> 27 23 <RunParams> 28 < local>29 <FormatVersion Value="1"/>30 < LaunchingApplication PathPlusParams="\usr\bin\xterm -T 'Lazarus Run Output' -e $(LazarusDir)\tools\runwait.sh $(TargetCmdLine)"/>31 </ local>24 <FormatVersion Value="2"/> 25 <Modes Count="1"> 26 <Mode0 Name="default"/> 27 </Modes> 32 28 </RunParams> 33 29 <RequiredPackages Count="2"> … … 43 39 <Filename Value="DynNumberDemo.lpr"/> 44 40 <IsPartOfProject Value="True"/> 45 <UnitName Value="DynNumberDemo"/>46 <WindowIndex Value="0"/>47 <TopLine Value="1"/>48 41 <CursorPos X="41" Y="19"/> 49 42 <UsageCount Value="42"/> … … 53 46 <IsPartOfProject Value="True"/> 54 47 <ComponentName Value="MainForm"/> 48 <HasResources Value="True"/> 55 49 <ResourceBaseClass Value="Form"/> 56 <UnitName Value="UMainForm"/>57 50 <IsVisibleTab Value="True"/> 58 <EditorIndex Value="0"/> 59 <WindowIndex Value="0"/> 60 <TopLine Value="50"/> 61 <CursorPos X="34" Y="61"/> 51 <CursorPos X="44" Y="31"/> 62 52 <UsageCount Value="42"/> 63 53 <Loaded Value="True"/> … … 66 56 <Unit2> 67 57 <Filename Value="..\..\UDynNumber.pas"/> 68 <UnitName Value="UDynNumber"/> 69 <EditorIndex Value="2"/> 70 <WindowIndex Value="0"/> 71 <TopLine Value="1"/> 58 <EditorIndex Value="-1"/> 72 59 <CursorPos X="17" Y="10"/> 73 60 <UsageCount Value="21"/> 74 <Loaded Value="True"/>75 61 </Unit2> 76 62 <Unit3> 77 63 <Filename Value="..\..\UBitStream.pas"/> 78 <UnitName Value="UBitStream"/> 79 <EditorIndex Value="4"/> 80 <WindowIndex Value="0"/> 64 <EditorIndex Value="-1"/> 81 65 <TopLine Value="21"/> 82 66 <CursorPos X="35" Y="29"/> 83 67 <UsageCount Value="21"/> 84 <Loaded Value="True"/>85 68 </Unit3> 86 69 <Unit4> 87 70 <Filename Value="..\..\UBufferedFileStream.pas"/> 88 <UnitName Value="UBufferedFileStream"/>89 <WindowIndex Value="0"/>90 71 <TopLine Value="38"/> 91 72 <CursorPos X="30" Y="54"/> … … 93 74 </Unit4> 94 75 <Unit5> 95 <Filename Value="..\..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\objpas\classes\classesh.inc"/> 96 <EditorIndex Value="3"/> 97 <WindowIndex Value="0"/> 76 <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\objpas\classes\classesh.inc"/> 77 <EditorIndex Value="-1"/> 98 78 <TopLine Value="773"/> 99 79 <CursorPos X="17" Y="789"/> 100 80 <UsageCount Value="21"/> 101 <Loaded Value="True"/>102 81 </Unit5> 103 82 <Unit6> 104 <Filename Value="..\..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\objpas\classes\streams.inc"/> 105 <WindowIndex Value="0"/> 83 <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\objpas\classes\streams.inc"/> 106 84 <TopLine Value="462"/> 107 85 <CursorPos X="19" Y="467"/> … … 109 87 </Unit6> 110 88 <Unit7> 111 <Filename Value="..\..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\objpas\sysutils\filutilh.inc"/> 112 <WindowIndex Value="0"/> 89 <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\objpas\sysutils\filutilh.inc"/> 113 90 <TopLine Value="60"/> 114 91 <CursorPos X="10" Y="75"/> … … 116 93 </Unit7> 117 94 <Unit8> 118 <Filename Value="..\..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\unix\sysutils.pp"/> 119 <UnitName Value="sysutils"/> 120 <WindowIndex Value="0"/> 95 <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\unix\sysutils.pp"/> 121 96 <TopLine Value="435"/> 122 97 <CursorPos X="49" Y="435"/> … … 124 99 </Unit8> 125 100 <Unit9> 126 <Filename Value="..\..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\unix\bunxovlh.inc"/> 127 <WindowIndex Value="0"/> 101 <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\unix\bunxovlh.inc"/> 128 102 <TopLine Value="16"/> 129 103 <CursorPos X="60" Y="32"/> … … 131 105 </Unit9> 132 106 <Unit10> 133 <Filename Value="..\..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\unix\aliasptp.inc"/> 134 <WindowIndex Value="0"/> 107 <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\unix\aliasptp.inc"/> 135 108 <TopLine Value="16"/> 136 109 <CursorPos X="27" Y="32"/> … … 138 111 </Unit10> 139 112 <Unit11> 140 <Filename Value="..\..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\linux\ptypes.inc"/> 141 <WindowIndex Value="0"/> 113 <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\linux\ptypes.inc"/> 142 114 <TopLine Value="41"/> 143 115 <CursorPos X="22" Y="57"/> … … 145 117 </Unit11> 146 118 <Unit12> 147 <Filename Value="..\..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\unix\ctypes.inc"/> 148 <WindowIndex Value="0"/> 119 <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\unix\ctypes.inc"/> 149 120 <TopLine Value="21"/> 150 121 <CursorPos X="3" Y="37"/> … … 152 123 </Unit12> 153 124 <Unit13> 154 <Filename Value="..\..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\objpas\math.pp"/> 155 <UnitName Value="math"/> 156 <WindowIndex Value="0"/> 125 <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\objpas\math.pp"/> 157 126 <TopLine Value="308"/> 158 127 <CursorPos X="10" Y="324"/> … … 160 129 </Unit13> 161 130 <Unit14> 162 <Filename Value="..\..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\inc\mathh.inc"/> 163 <WindowIndex Value="0"/> 131 <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\inc\mathh.inc"/> 164 132 <TopLine Value="62"/> 165 133 <CursorPos X="14" Y="78"/> … … 168 136 <Unit15> 169 137 <Filename Value="..\..\..\..\..\lazarus\lcl\include\control.inc"/> 170 <EditorIndex Value="1"/> 171 <WindowIndex Value="0"/> 138 <EditorIndex Value="-1"/> 172 139 <TopLine Value="2784"/> 173 <CursorPos X="1"Y="2808"/>140 <CursorPos Y="2808"/> 174 141 <UsageCount Value="10"/> 175 <Loaded Value="True"/>176 142 </Unit15> 177 143 </Units> 178 <JumpHistory Count="30" HistoryIndex="29"> 179 <Position1> 180 <Filename Value="..\..\UDynNumber.pas"/> 181 <Caret Line="47" Column="1" TopLine="31"/> 182 </Position1> 183 <Position2> 184 <Filename Value="..\..\UDynNumber.pas"/> 185 <Caret Line="48" Column="1" TopLine="31"/> 186 </Position2> 187 <Position3> 188 <Filename Value="..\..\UDynNumber.pas"/> 189 <Caret Line="49" Column="1" TopLine="31"/> 190 </Position3> 191 <Position4> 192 <Filename Value="..\..\UDynNumber.pas"/> 193 <Caret Line="60" Column="1" TopLine="43"/> 194 </Position4> 195 <Position5> 196 <Filename Value="..\..\UDynNumber.pas"/> 197 <Caret Line="61" Column="1" TopLine="43"/> 198 </Position5> 199 <Position6> 200 <Filename Value="..\..\UDynNumber.pas"/> 201 <Caret Line="62" Column="1" TopLine="43"/> 202 </Position6> 203 <Position7> 204 <Filename Value="..\..\UDynNumber.pas"/> 205 <Caret Line="64" Column="1" TopLine="43"/> 206 </Position7> 207 <Position8> 208 <Filename Value="..\..\UDynNumber.pas"/> 209 <Caret Line="65" Column="1" TopLine="43"/> 210 </Position8> 211 <Position9> 212 <Filename Value="..\..\UDynNumber.pas"/> 213 <Caret Line="66" Column="1" TopLine="43"/> 214 </Position9> 215 <Position10> 216 <Filename Value="..\..\UDynNumber.pas"/> 217 <Caret Line="67" Column="1" TopLine="43"/> 218 </Position10> 219 <Position11> 220 <Filename Value="..\..\UDynNumber.pas"/> 221 <Caret Line="50" Column="1" TopLine="43"/> 222 </Position11> 223 <Position12> 224 <Filename Value="..\..\UDynNumber.pas"/> 225 <Caret Line="51" Column="1" TopLine="43"/> 226 </Position12> 227 <Position13> 228 <Filename Value="..\..\UDynNumber.pas"/> 229 <Caret Line="52" Column="1" TopLine="43"/> 230 </Position13> 231 <Position14> 232 <Filename Value="..\..\UDynNumber.pas"/> 233 <Caret Line="53" Column="2" TopLine="40"/> 234 </Position14> 235 <Position15> 236 <Filename Value="..\..\UDynNumber.pas"/> 237 <Caret Line="47" Column="1" TopLine="40"/> 238 </Position15> 239 <Position16> 240 <Filename Value="..\..\UDynNumber.pas"/> 241 <Caret Line="48" Column="1" TopLine="40"/> 242 </Position16> 243 <Position17> 244 <Filename Value="..\..\UDynNumber.pas"/> 245 <Caret Line="49" Column="1" TopLine="40"/> 246 </Position17> 247 <Position18> 248 <Filename Value="..\..\UDynNumber.pas"/> 249 <Caret Line="60" Column="1" TopLine="40"/> 250 </Position18> 251 <Position19> 252 <Filename Value="..\..\UDynNumber.pas"/> 253 <Caret Line="61" Column="1" TopLine="40"/> 254 </Position19> 255 <Position20> 256 <Filename Value="..\..\UDynNumber.pas"/> 257 <Caret Line="62" Column="1" TopLine="40"/> 258 </Position20> 259 <Position21> 260 <Filename Value="..\..\UDynNumber.pas"/> 261 <Caret Line="64" Column="1" TopLine="40"/> 262 </Position21> 263 <Position22> 264 <Filename Value="..\..\UDynNumber.pas"/> 265 <Caret Line="65" Column="1" TopLine="40"/> 266 </Position22> 267 <Position23> 268 <Filename Value="..\..\UDynNumber.pas"/> 269 <Caret Line="66" Column="1" TopLine="40"/> 270 </Position23> 271 <Position24> 272 <Filename Value="..\..\UDynNumber.pas"/> 273 <Caret Line="67" Column="1" TopLine="40"/> 274 </Position24> 275 <Position25> 276 <Filename Value="..\..\UDynNumber.pas"/> 277 <Caret Line="50" Column="1" TopLine="40"/> 278 </Position25> 279 <Position26> 280 <Filename Value="..\..\UDynNumber.pas"/> 281 <Caret Line="51" Column="1" TopLine="40"/> 282 </Position26> 283 <Position27> 284 <Filename Value="..\..\UDynNumber.pas"/> 285 <Caret Line="65" Column="30" TopLine="39"/> 286 </Position27> 287 <Position28> 288 <Filename Value="..\..\UBitStream.pas"/> 289 <Caret Line="162" Column="5" TopLine="150"/> 290 </Position28> 291 <Position29> 292 <Filename Value="..\..\UBitStream.pas"/> 293 <Caret Line="163" Column="31" TopLine="150"/> 294 </Position29> 295 <Position30> 296 <Filename Value="..\..\UBitStream.pas"/> 297 <Caret Line="161" Column="14" TopLine="146"/> 298 </Position30> 299 </JumpHistory> 144 <JumpHistory HistoryIndex="-1"/> 300 145 </ProjectOptions> 301 146 <CompilerOptions> 302 <Version Value=" 9"/>147 <Version Value="11"/> 303 148 <PathDelim Value="\"/> 304 149 <Target> … … 309 154 <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> 310 155 </SearchPaths> 156 <Parsing> 157 <SyntaxOptions> 158 <SyntaxMode Value="Delphi"/> 159 </SyntaxOptions> 160 </Parsing> 311 161 <CodeGeneration> 312 162 <Checks> … … 319 169 <Linking> 320 170 <Debugging> 171 <DebugInfoType Value="dsDwarf3"/> 321 172 <UseHeaptrc Value="True"/> 322 173 </Debugging> … … 327 178 </Options> 328 179 </Linking> 329 <Other>330 <CompilerMessages>331 <UseMsgFile Value="True"/>332 </CompilerMessages>333 <CompilerPath Value="$(CompPath)"/>334 </Other>335 180 </CompilerOptions> 336 181 <Debugging> -
CoolStreaming/Demo/DynNumber/DynNumberDemo.lpr
r126 r572 20 20 SetHeapTraceOutput(ExtractFilePath(ParamStr(0)) + HeapTraceLog); 21 21 22 Application.Title:=''; 22 23 Application.Initialize; 23 24 Application.CreateForm(TMainForm, MainForm); -
CoolStreaming/Demo/DynNumber/UMainForm.lfm
r128 r572 1 1 object MainForm: TMainForm 2 2 Left = 321 3 Height = 4953 Height = 742 4 4 Top = 114 5 Width = 6695 Width = 1004 6 6 Caption = 'DynNumber Demo' 7 ClientHeight = 495 8 ClientWidth = 669 7 ClientHeight = 742 8 ClientWidth = 1004 9 DesignTimePPI = 144 9 10 OnCreate = FormCreate 10 11 OnDestroy = FormDestroy 11 LCLVersion = ' 0.9.31'12 LCLVersion = '3.4.0.0' 12 13 object PageControl1: TPageControl 13 Left = 814 Height = 48015 Top = 816 Width = 65614 Left = 12 15 Height = 720 16 Top = 12 17 Width = 984 17 18 ActivePage = TabSheet2 18 19 Anchors = [akTop, akLeft, akRight, akBottom] … … 21 22 object TabSheet1: TTabSheet 22 23 Caption = 'Generator' 23 ClientHeight = 44924 ClientWidth = 65224 ClientHeight = 680 25 ClientWidth = 974 25 26 object Button1: TButton 26 Left = 1 127 Height = 2528 Top = 1 029 Width = 7527 Left = 16 28 Height = 38 29 Top = 15 30 Width = 112 30 31 Caption = 'Generate' 32 TabOrder = 0 31 33 OnClick = Button1Click 32 TabOrder = 033 34 end 34 35 object Button2: TButton 35 Left = 37436 Height = 2537 Top = 1 138 Width = 7536 Left = 561 37 Height = 38 38 Top = 16 39 Width = 112 39 40 Caption = 'test' 41 TabOrder = 1 40 42 OnClick = Button2Click 41 TabOrder = 142 43 end 43 44 object SpinEdit1: TSpinEdit 44 Left = 9945 Height = 2546 Top = 1 047 Width = 1 0645 Left = 148 46 Height = 43 47 Top = 15 48 Width = 159 48 49 MaxValue = 100000000 49 50 TabOrder = 2 … … 51 52 end 52 53 object ListView1: TListView 53 Left = 1 154 Height = 40055 Top = 4356 Width = 63554 Left = 16 55 Height = 607 56 Top = 64 57 Width = 949 57 58 Anchors = [akTop, akLeft, akRight, akBottom] 58 59 Columns = < 59 60 item 60 61 Caption = 'Number' 61 Width = 7062 Width = 105 62 63 end 63 64 item 64 65 Caption = 'Overhead' 65 Width = 7066 Width = 105 66 67 end 67 68 item 68 69 Caption = 'Value' 69 Width = 49470 Width = 741 70 71 end> 71 72 TabOrder = 3 … … 75 76 object TabSheet2: TTabSheet 76 77 Caption = 'Encoder' 77 ClientHeight = 44978 ClientWidth = 65278 ClientHeight = 680 79 ClientWidth = 974 79 80 object Edit1: TEdit 80 Left = 881 Height = 2582 Top = 883 Width = 63881 Left = 12 82 Height = 43 83 Top = 12 84 Width = 953 84 85 Anchors = [akTop, akLeft, akRight] 85 86 TabOrder = 0 … … 87 88 end 88 89 object Button3: TButton 89 Left = 890 Height = 2591 Top = 4292 Width = 14290 Left = 12 91 Height = 38 92 Top = 63 93 Width = 213 93 94 Caption = 'Encode' 95 TabOrder = 1 94 96 OnClick = Button3Click 95 TabOrder = 196 97 end 97 98 object Edit2: TEdit 98 Left = 699 Height = 25100 Top = 75101 Width = 63899 Left = 9 100 Height = 43 101 Top = 112 102 Width = 953 102 103 Anchors = [akTop, akLeft, akRight] 103 104 TabOrder = 2 … … 105 106 end 106 107 object Button4: TButton 107 Left = 8108 Height = 25109 Top = 1 07110 Width = 142108 Left = 12 109 Height = 38 110 Top = 160 111 Width = 213 111 112 Caption = 'Decode' 113 TabOrder = 3 112 114 OnClick = Button4Click 113 TabOrder = 3114 115 end 115 116 end 116 117 end 117 118 object Edit3: TEdit 118 Left = 16119 Height = 25120 Top = 176121 Width = 638119 Left = 24 120 Height = 43 121 Top = 264 122 Width = 958 122 123 Anchors = [akTop, akLeft, akRight] 123 124 TabOrder = 1 -
CoolStreaming/Demo/DynNumber/UMainForm.pas
r128 r572 1 1 unit UMainForm; 2 3 {$mode objfpc}{$H+}4 2 5 3 interface … … 7 5 uses 8 6 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, 9 ComCtrls, Spin, UDynNumber, Math;7 ComCtrls, Spin, DynNumber, Math; 10 8 11 9 type -
CoolStreaming/Demo/VarBlockSerializer/UMainForm.lfm
r174 r572 1 1 object MainForm: TMainForm 2 2 Left = 263 3 Height = 4053 Height = 608 4 4 Top = 119 5 Width = 6445 Width = 966 6 6 Caption = 'VarBlockSerializer demo' 7 ClientHeight = 405 8 ClientWidth = 644 7 ClientHeight = 608 8 ClientWidth = 966 9 DesignTimePPI = 144 9 10 OnShow = FormShow 10 LCLVersion = ' 0.9.31'11 LCLVersion = '3.4.0.0' 11 12 object PageControl1: TPageControl 12 Left = 813 Height = 39214 Top = 815 Width = 63213 Left = 12 14 Height = 588 15 Top = 12 16 Width = 948 16 17 ActivePage = TabSheet1 17 18 Anchors = [akTop, akLeft, akRight, akBottom] … … 20 21 object TabSheet1: TTabSheet 21 22 Caption = 'Simple types' 22 ClientHeight = 36623 ClientWidth = 62423 ClientHeight = 548 24 ClientWidth = 938 24 25 object GroupBox1: TGroupBox 25 Left = 826 Height = 6427 Top = 828 Width = 60826 Left = 12 27 Height = 96 28 Top = 12 29 Width = 912 29 30 Caption = 'Unsigned integer (UInt)' 30 ClientHeight = 4631 ClientWidth = 60431 ClientHeight = 69 32 ClientWidth = 910 32 33 TabOrder = 0 33 34 object SpinEditUInt: TSpinEdit 34 Left = 635 Height = 2136 Top = 837 Width = 15235 Left = 9 36 Height = 43 37 Top = 12 38 Width = 228 38 39 MaxValue = 1000000000 39 40 TabOrder = 0 … … 41 42 end 42 43 object ButtonUIntEncode: TButton 43 Left = 246 44 Height = 25 45 Top = 8 46 Width = 75 47 Caption = 'Encode >>' 44 Left = 369 45 Height = 38 46 Top = 12 47 Width = 112 48 Caption = 'Encode >>' 49 TabOrder = 1 48 50 OnClick = ButtonUIntEncodeClick 49 TabOrder = 150 51 end 51 52 object EditUInt: TEdit 52 Left = 32653 Height = 2154 Top = 855 Width = 26953 Left = 489 54 Height = 43 55 Top = 12 56 Width = 404 56 57 TabOrder = 2 57 58 Text = '00' 58 59 end 59 60 object ButtonUIntDecode: TButton 60 Left = 166 61 Height = 25 62 Top = 8 63 Width = 75 64 Caption = '<< Decode' 61 Left = 249 62 Height = 38 63 Top = 12 64 Width = 112 65 Caption = '<< Decode' 66 TabOrder = 3 65 67 OnClick = ButtonUIntDecodeClick 66 TabOrder = 367 68 end 68 69 end 69 70 object GroupBox2: TGroupBox 70 Left = 871 Height = 6472 Top = 8073 Width = 60871 Left = 12 72 Height = 96 73 Top = 120 74 Width = 912 74 75 Caption = 'Signed integer (SInt)' 75 ClientHeight = 4676 ClientWidth = 60476 ClientHeight = 69 77 ClientWidth = 910 77 78 TabOrder = 1 78 79 object SpinEditSInt: TSpinEdit 79 Left = 680 Height = 2181 Top = 882 Width = 15280 Left = 9 81 Height = 43 82 Top = 12 83 Width = 228 83 84 MaxValue = 1000000000 84 85 MinValue = -1000000000 … … 87 88 end 88 89 object ButtonSIntEncode: TButton 89 Left = 246 90 Height = 25 91 Top = 8 92 Width = 75 93 Caption = 'Encode >>' 90 Left = 369 91 Height = 38 92 Top = 12 93 Width = 112 94 Caption = 'Encode >>' 95 TabOrder = 1 94 96 OnClick = ButtonSIntEncodeClick 95 TabOrder = 196 97 end 97 98 object EditSInt: TEdit 98 Left = 32699 Height = 21100 Top = 8101 Width = 26999 Left = 489 100 Height = 43 101 Top = 12 102 Width = 404 102 103 TabOrder = 2 103 104 Text = '00' 104 105 end 105 106 object ButtonSIntDecode: TButton 106 Left = 166 107 Height = 25 108 Top = 8 109 Width = 75 110 Caption = '<< Decode' 107 Left = 249 108 Height = 38 109 Top = 12 110 Width = 112 111 Caption = '<< Decode' 112 TabOrder = 3 111 113 OnClick = ButtonSIntDecodeClick 112 TabOrder = 3113 114 end 114 115 end 115 116 object GroupBox3: TGroupBox 116 Left = 8117 Height = 64118 Top = 152119 Width = 608117 Left = 12 118 Height = 96 119 Top = 228 120 Width = 912 120 121 Caption = 'String' 121 ClientHeight = 46122 ClientWidth = 604122 ClientHeight = 69 123 ClientWidth = 910 123 124 TabOrder = 2 124 125 object ButtonEncodeString: TButton 125 Left = 246 126 Height = 25 127 Top = 8 128 Width = 75 129 Caption = 'Encode >>' 126 Left = 369 127 Height = 38 128 Top = 12 129 Width = 112 130 Caption = 'Encode >>' 131 TabOrder = 0 130 132 OnClick = ButtonEncodeStringClick 131 TabOrder = 0132 133 end 133 134 object EditStringData: TEdit 134 Left = 326135 Height = 21136 Top = 8137 Width = 269135 Left = 489 136 Height = 43 137 Top = 12 138 Width = 404 138 139 TabOrder = 1 139 140 Text = '00' 140 141 end 141 142 object ButtonDecodeString: TButton 142 Left = 166 143 Height = 25 144 Top = 8 145 Width = 75 146 Caption = '<< Decode' 143 Left = 249 144 Height = 38 145 Top = 12 146 Width = 112 147 Caption = '<< Decode' 148 TabOrder = 2 147 149 OnClick = ButtonDecodeStringClick 148 TabOrder = 2149 150 end 150 151 object EditString: TEdit 151 Left = 6152 Height = 21153 Top = 8154 Width = 152152 Left = 9 153 Height = 43 154 Top = 12 155 Width = 228 155 156 TabOrder = 3 156 157 Text = 'Hello world' … … 158 159 end 159 160 object GroupBox4: TGroupBox 160 Left = 8161 Height = 64162 Top = 224163 Width = 608161 Left = 12 162 Height = 96 163 Top = 336 164 Width = 912 164 165 Caption = 'Raw data (Block)' 165 ClientHeight = 46166 ClientWidth = 604166 ClientHeight = 69 167 ClientWidth = 910 167 168 TabOrder = 3 168 169 object ButtonEncodeRaw: TButton 169 Left = 246 170 Height = 25 171 Top = 8 172 Width = 75 173 Caption = 'Encode >>' 170 Left = 369 171 Height = 38 172 Top = 12 173 Width = 112 174 Caption = 'Encode >>' 175 TabOrder = 0 174 176 OnClick = ButtonEncodeRawClick 175 TabOrder = 0176 177 end 177 178 object EditRawData: TEdit 178 Left = 326179 Height = 21180 Top = 8181 Width = 269179 Left = 489 180 Height = 43 181 Top = 12 182 Width = 404 182 183 TabOrder = 1 183 184 Text = '00' 184 185 end 185 186 object ButtonDecodeRaw: TButton 186 Left = 166 187 Height = 25 188 Top = 8 189 Width = 75 190 Caption = '<< Decode' 187 Left = 249 188 Height = 38 189 Top = 12 190 Width = 112 191 Caption = '<< Decode' 192 TabOrder = 2 191 193 OnClick = ButtonDecodeRawClick 192 TabOrder = 2193 194 end 194 195 object EditRaw: TEdit 195 Left = 6196 Height = 21197 Top = 8198 Width = 152196 Left = 9 197 Height = 43 198 Top = 12 199 Width = 228 199 200 TabOrder = 3 200 201 Text = '01 23 45 67 89 AB CD EF' … … 202 203 end 203 204 object GroupBox5: TGroupBox 204 Left = 8205 Height = 64206 Top = 296207 Width = 608205 Left = 12 206 Height = 96 207 Top = 444 208 Width = 912 208 209 Caption = 'Float' 209 ClientHeight = 46210 ClientWidth = 604210 ClientHeight = 69 211 ClientWidth = 910 211 212 TabOrder = 4 212 213 object ButtonFloatEncode1: TButton 213 Left = 246 214 Height = 25 215 Top = 8 216 Width = 75 217 Caption = 'Encode >>' 214 Left = 369 215 Height = 38 216 Top = 12 217 Width = 112 218 Caption = 'Encode >>' 219 TabOrder = 0 218 220 OnClick = ButtonFloatEncode1Click 219 TabOrder = 0220 221 end 221 222 object EditFloat: TEdit 222 Left = 326223 Height = 21224 Top = 8225 Width = 269223 Left = 489 224 Height = 43 225 Top = 12 226 Width = 404 226 227 TabOrder = 1 227 228 Text = '00' 228 229 end 229 230 object ButtonFloatDecode1: TButton 230 Left = 166 231 Height = 25 232 Top = 7 233 Width = 75 234 Caption = '<< Decode' 231 Left = 249 232 Height = 38 233 Top = 10 234 Width = 112 235 Caption = '<< Decode' 236 TabOrder = 2 235 237 OnClick = ButtonFloatDecode1Click 236 TabOrder = 2237 238 end 238 239 object FloatSpinEdit1: TFloatSpinEdit 239 Left = 6240 Height = 21241 Top = 7242 Width = 96240 Left = 9 241 Height = 43 242 Top = 10 243 Width = 144 243 244 DecimalPlaces = 8 244 Increment = 1245 245 MaxValue = 1000000000 246 246 MinValue = -100000000 247 247 TabOrder = 3 248 Value = 0249 248 end 250 249 object SpinEditFloat: TSpinEdit 251 Left = 1 10252 Height = 21253 Top = 16254 Width = 50250 Left = 165 251 Height = 43 252 Top = 24 253 Width = 75 255 254 MaxValue = 16 256 255 MinValue = 2 … … 259 258 end 260 259 object Label1: TLabel 261 Left = 1 11262 Height = 14260 Left = 166 261 Height = 26 263 262 Top = 0 264 Width = 24263 Width = 41 265 264 Caption = 'Base' 266 265 ParentColor = False … … 270 269 object TabSheet2: TTabSheet 271 270 Caption = 'Indexed structure' 272 ClientHeight = 366273 ClientWidth = 624271 ClientHeight = 548 272 ClientWidth = 938 274 273 object EditIndexedItem1: TEdit 275 Left = 36276 Height = 21277 Top = 34278 Width = 224274 Left = 54 275 Height = 43 276 Top = 51 277 Width = 336 279 278 TabOrder = 0 280 279 Text = '11 22' 281 280 end 282 281 object Label2: TLabel 283 Left = 1 0284 Height = 14285 Top = 38286 Width = 14282 Left = 15 283 Height = 26 284 Top = 57 285 Width = 20 287 286 Caption = '0: ' 288 287 ParentColor = False 289 288 end 290 289 object Label3: TLabel 291 Left = 1 0292 Height = 14293 Top = 61294 Width = 1 1290 Left = 15 291 Height = 26 292 Top = 92 293 Width = 15 295 294 Caption = '1:' 296 295 ParentColor = False 297 296 end 298 297 object EditIndexedItem2: TEdit 299 Left = 36300 Height = 21301 Top = 58302 Width = 224298 Left = 54 299 Height = 43 300 Top = 87 301 Width = 336 303 302 TabOrder = 1 304 303 Text = '33 44' 305 304 end 306 305 object EditIndexedItem3: TEdit 307 Left = 36308 Height = 21309 Top = 86310 Width = 224306 Left = 54 307 Height = 43 308 Top = 129 309 Width = 336 311 310 TabOrder = 2 312 311 Text = '55 66' 313 312 end 314 313 object Label4: TLabel 315 Left = 1 0316 Height = 14317 Top = 89318 Width = 1 1314 Left = 15 315 Height = 26 316 Top = 134 317 Width = 15 319 318 Caption = '2:' 320 319 ParentColor = False 321 320 end 322 321 object ButtonEncodeIndexed: TButton 323 Left = 156324 Height = 25325 Top = 1 22326 Width = 75322 Left = 234 323 Height = 38 324 Top = 183 325 Width = 112 327 326 Caption = 'Encode >>' 327 TabOrder = 3 328 328 OnClick = ButtonEncodeIndexedClick 329 TabOrder = 3330 329 end 331 330 object ButtonDecodeIndexed: TButton 332 Left = 68333 Height = 25334 Top = 1 22335 Width = 75331 Left = 102 332 Height = 38 333 Top = 183 334 Width = 112 336 335 Caption = '<< Decode' 336 TabOrder = 4 337 337 OnClick = ButtonDecodeIndexedClick 338 TabOrder = 4339 338 end 340 339 object EditIndexed: TEdit 341 Left = 1 0342 Height = 21343 Top = 154344 Width = 588340 Left = 15 341 Height = 43 342 Top = 231 343 Width = 882 345 344 TabOrder = 5 346 345 end 347 346 object CheckBoxMask1: TCheckBox 348 Left = 284349 Height = 17350 Top = 34351 Width = 2 0347 Left = 426 348 Height = 23 349 Top = 51 350 Width = 23 352 351 Checked = True 353 352 State = cbChecked … … 355 354 end 356 355 object CheckBoxMask2: TCheckBox 357 Left = 284358 Height = 17359 Top = 59360 Width = 2 0356 Left = 426 357 Height = 23 358 Top = 88 359 Width = 23 361 360 Checked = True 362 361 State = cbChecked … … 364 363 end 365 364 object CheckBoxMask3: TCheckBox 366 Left = 284367 Height = 17368 Top = 88369 Width = 2 0365 Left = 426 366 Height = 23 367 Top = 132 368 Width = 23 370 369 Checked = True 371 370 State = cbChecked … … 373 372 end 374 373 object Label5: TLabel 375 Left = 268376 Height = 14377 Top = 18378 Width = 40374 Left = 402 375 Height = 26 376 Top = 27 377 Width = 74 379 378 Caption = 'Bit mask' 380 379 ParentColor = False 381 380 end 382 381 object Label6: TLabel 383 Left = 8384 Height = 14385 Top = 1 1386 Width = 29382 Left = 12 383 Height = 26 384 Top = 16 385 Width = 48 387 386 Caption = 'Index' 388 387 ParentColor = False -
CoolStreaming/Demo/VarBlockSerializer/UMainForm.pas
r173 r572 1 1 unit UMainForm; 2 3 {$mode Delphi}{$H+}4 2 5 3 interface … … 7 5 uses 8 6 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, 9 Spin, UVarBlockSerializer, StrUtils, ComCtrls, ExtCtrls;7 Spin, VarBlockSerializer, ComCtrls, ExtCtrls; 10 8 11 9 type -
CoolStreaming/Demo/VarBlockSerializer/VarBlockSerializerDemo.lpi
r222 r572 1 <?xml version="1.0" ?>1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <CONFIG> 3 3 <ProjectOptions> 4 <Version Value=" 9"/>4 <Version Value="12"/> 5 5 <PathDelim Value="\"/> 6 6 <General> 7 <MainUnit Value="0"/> 7 <Flags> 8 <CompatibilityMode Value="True"/> 9 </Flags> 8 10 <Title Value="VarBlockSerializerDemo"/> 9 11 <ResourceType Value="res"/> 10 12 <UseXPManifest Value="True"/> 11 13 <Icon Value="0"/> 12 <ActiveWindowIndexAtStart Value="0"/>13 14 </General> 14 15 <i18n> 15 16 <EnableI18N LFM="False"/> 16 17 </i18n> 17 <VersionInfo>18 <StringTable ProductVersion=""/>19 </VersionInfo>20 18 <BuildModes Count="1" Active="Default"> 21 19 <Item1 Name="Default" Default="True"/> … … 23 21 <PublishOptions> 24 22 <Version Value="2"/> 25 <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>26 <ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>27 23 </PublishOptions> 28 24 <RunParams> 29 <local> 30 <FormatVersion Value="1"/> 31 </local> 25 <FormatVersion Value="2"/> 26 <Modes Count="1"> 27 <Mode0 Name="default"/> 28 </Modes> 32 29 </RunParams> 33 30 <RequiredPackages Count="3"> … … 47 44 <Filename Value="VarBlockSerializerDemo.lpr"/> 48 45 <IsPartOfProject Value="True"/> 49 <UnitName Value="VarBlockSerializerDemo"/>50 46 <UsageCount Value="57"/> 51 47 </Unit0> … … 54 50 <IsPartOfProject Value="True"/> 55 51 <ComponentName Value="MainForm"/> 52 <HasResources Value="True"/> 56 53 <ResourceBaseClass Value="Form"/> 57 <UnitName Value="UMainForm"/> 58 <EditorIndex Value="0"/> 59 <WindowIndex Value="0"/> 60 <TopLine Value="221"/> 61 <CursorPos X="1" Y="238"/> 54 <IsVisibleTab Value="True"/> 55 <TopLine Value="50"/> 56 <CursorPos X="50" Y="73"/> 62 57 <UsageCount Value="57"/> 63 58 <Loaded Value="True"/> … … 67 62 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\spin.pp"/> 68 63 <UnitName Value="Spin"/> 69 <EditorIndex Value="12"/> 70 <WindowIndex Value="0"/> 64 <EditorIndex Value="-1"/> 71 65 <TopLine Value="172"/> 72 66 <CursorPos X="17" Y="185"/> 73 67 <UsageCount Value="29"/> 74 <Loaded Value="True"/>75 68 </Unit2> 76 69 <Unit3> 77 70 <Filename Value="..\..\UVarBlockSerializer.pas"/> 78 <UnitName Value="UVarBlockSerializer"/> 79 <IsVisibleTab Value="True"/> 80 <EditorIndex Value="8"/> 81 <WindowIndex Value="0"/> 71 <EditorIndex Value="-1"/> 82 72 <TopLine Value="218"/> 83 73 <CursorPos X="22" Y="248"/> 84 74 <UsageCount Value="29"/> 85 <Loaded Value="True"/>86 75 </Unit3> 87 76 <Unit4> 88 77 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classesh.inc"/> 89 <EditorIndex Value="10"/> 90 <WindowIndex Value="0"/> 78 <EditorIndex Value="-1"/> 91 79 <TopLine Value="773"/> 92 80 <CursorPos X="14" Y="786"/> 93 81 <UsageCount Value="29"/> 94 <Loaded Value="True"/>95 82 </Unit4> 96 83 <Unit5> 97 84 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\streams.inc"/> 98 <EditorIndex Value="11"/> 99 <WindowIndex Value="0"/> 85 <EditorIndex Value="-1"/> 100 86 <TopLine Value="134"/> 101 87 <CursorPos X="26" Y="144"/> 102 88 <UsageCount Value="29"/> 103 <Loaded Value="True"/>104 89 </Unit5> 105 90 <Unit6> 106 91 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/> 107 <EditorIndex Value="1"/> 108 <WindowIndex Value="0"/> 92 <EditorIndex Value="-1"/> 109 93 <TopLine Value="1672"/> 110 <CursorPos X="1"Y="1685"/>94 <CursorPos Y="1685"/> 111 95 <UsageCount Value="12"/> 112 <Loaded Value="True"/>113 96 </Unit6> 114 97 <Unit7> 115 98 <Filename Value="..\..\UStreamHelper.pas"/> 116 <UnitName Value="UStreamHelper"/> 117 <EditorIndex Value="9"/> 118 <WindowIndex Value="0"/> 99 <EditorIndex Value="-1"/> 119 100 <TopLine Value="192"/> 120 <CursorPos X="1"Y="205"/>101 <CursorPos Y="205"/> 121 102 <UsageCount Value="12"/> 122 <Loaded Value="True"/>123 103 </Unit7> 124 104 <Unit8> 125 105 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\inc\mathh.inc"/> 126 <WindowIndex Value="0"/>127 106 <TopLine Value="57"/> 128 107 <CursorPos X="18" Y="79"/> … … 131 110 <Unit9> 132 111 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\buttoncontrol.inc"/> 133 <EditorIndex Value="6"/> 134 <WindowIndex Value="0"/> 112 <EditorIndex Value="-1"/> 135 113 <TopLine Value="14"/> 136 <CursorPos X="1" Y="22"/> 137 <UsageCount Value="11"/> 138 <Loaded Value="True"/> 114 <CursorPos Y="22"/> 115 <UsageCount Value="11"/> 139 116 </Unit9> 140 117 <Unit10> 141 118 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\buttons.inc"/> 142 <EditorIndex Value="7"/> 143 <WindowIndex Value="0"/> 119 <EditorIndex Value="-1"/> 144 120 <TopLine Value="320"/> 145 <CursorPos X="1" Y="342"/> 146 <UsageCount Value="11"/> 147 <Loaded Value="True"/> 121 <CursorPos Y="342"/> 122 <UsageCount Value="11"/> 148 123 </Unit10> 149 124 <Unit11> 150 125 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\wincontrol.inc"/> 151 <EditorIndex Value="2"/> 152 <WindowIndex Value="0"/> 126 <EditorIndex Value="-1"/> 153 127 <TopLine Value="5229"/> 154 128 <CursorPos X="38" Y="5239"/> 155 129 <UsageCount Value="11"/> 156 <Loaded Value="True"/>157 130 </Unit11> 158 131 <Unit12> 159 132 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\lclmessageglue.pas"/> 160 133 <UnitName Value="LCLMessageGlue"/> 161 <EditorIndex Value="3"/> 162 <WindowIndex Value="0"/> 134 <EditorIndex Value="-1"/> 163 135 <TopLine Value="122"/> 164 <CursorPos X="1" Y="122"/> 165 <UsageCount Value="11"/> 166 <Loaded Value="True"/> 136 <CursorPos Y="122"/> 137 <UsageCount Value="11"/> 167 138 </Unit12> 168 139 <Unit13> 169 140 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\interfaces\win32\win32callback.inc"/> 170 <EditorIndex Value="4"/> 171 <WindowIndex Value="0"/> 141 <EditorIndex Value="-1"/> 172 142 <TopLine Value="2617"/> 173 <CursorPos X="1" Y="2617"/> 174 <UsageCount Value="11"/> 175 <Loaded Value="True"/> 143 <CursorPos Y="2617"/> 144 <UsageCount Value="11"/> 176 145 </Unit13> 177 146 <Unit14> 178 147 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\interfaces\win32\win32wsstdctrls.pp"/> 179 148 <UnitName Value="Win32WSStdCtrls"/> 180 <EditorIndex Value="5"/> 181 <WindowIndex Value="0"/> 149 <EditorIndex Value="-1"/> 182 150 <TopLine Value="407"/> 183 <CursorPos X="1" Y="407"/> 184 <UsageCount Value="11"/> 185 <Loaded Value="True"/> 151 <CursorPos Y="407"/> 152 <UsageCount Value="11"/> 186 153 </Unit14> 187 154 </Units> 188 <JumpHistory Count=" 30" HistoryIndex="29">155 <JumpHistory Count="2" HistoryIndex="1"> 189 156 <Position1> 190 <Filename Value=" ..\..\UVarBlockSerializer.pas"/>191 <Caret Line=" 244" Column="1" TopLine="236"/>157 <Filename Value="UMainForm.pas"/> 158 <Caret Line="7" Column="29"/> 192 159 </Position1> 193 160 <Position2> 194 <Filename Value=" ..\..\UVarBlockSerializer.pas"/>195 <Caret Line=" 243" Column="1" TopLine="236"/>161 <Filename Value="UMainForm.pas"/> 162 <Caret Line="73" Column="30" TopLine="48"/> 196 163 </Position2> 197 <Position3>198 <Filename Value="..\..\UVarBlockSerializer.pas"/>199 <Caret Line="244" Column="1" TopLine="236"/>200 </Position3>201 <Position4>202 <Filename Value="..\..\UVarBlockSerializer.pas"/>203 <Caret Line="243" Column="1" TopLine="236"/>204 </Position4>205 <Position5>206 <Filename Value="..\..\UVarBlockSerializer.pas"/>207 <Caret Line="244" Column="1" TopLine="236"/>208 </Position5>209 <Position6>210 <Filename Value="..\..\UVarBlockSerializer.pas"/>211 <Caret Line="243" Column="1" TopLine="236"/>212 </Position6>213 <Position7>214 <Filename Value="..\..\UVarBlockSerializer.pas"/>215 <Caret Line="244" Column="1" TopLine="236"/>216 </Position7>217 <Position8>218 <Filename Value="..\..\UVarBlockSerializer.pas"/>219 <Caret Line="243" Column="1" TopLine="236"/>220 </Position8>221 <Position9>222 <Filename Value="..\..\UVarBlockSerializer.pas"/>223 <Caret Line="244" Column="1" TopLine="236"/>224 </Position9>225 <Position10>226 <Filename Value="..\..\UVarBlockSerializer.pas"/>227 <Caret Line="243" Column="1" TopLine="236"/>228 </Position10>229 <Position11>230 <Filename Value="..\..\UVarBlockSerializer.pas"/>231 <Caret Line="244" Column="1" TopLine="236"/>232 </Position11>233 <Position12>234 <Filename Value="..\..\UVarBlockSerializer.pas"/>235 <Caret Line="243" Column="1" TopLine="236"/>236 </Position12>237 <Position13>238 <Filename Value="..\..\UVarBlockSerializer.pas"/>239 <Caret Line="244" Column="1" TopLine="236"/>240 </Position13>241 <Position14>242 <Filename Value="..\..\UVarBlockSerializer.pas"/>243 <Caret Line="243" Column="1" TopLine="236"/>244 </Position14>245 <Position15>246 <Filename Value="..\..\UVarBlockSerializer.pas"/>247 <Caret Line="244" Column="1" TopLine="236"/>248 </Position15>249 <Position16>250 <Filename Value="..\..\UVarBlockSerializer.pas"/>251 <Caret Line="243" Column="1" TopLine="236"/>252 </Position16>253 <Position17>254 <Filename Value="..\..\UVarBlockSerializer.pas"/>255 <Caret Line="244" Column="1" TopLine="236"/>256 </Position17>257 <Position18>258 <Filename Value="..\..\UVarBlockSerializer.pas"/>259 <Caret Line="243" Column="1" TopLine="236"/>260 </Position18>261 <Position19>262 <Filename Value="..\..\UVarBlockSerializer.pas"/>263 <Caret Line="244" Column="1" TopLine="236"/>264 </Position19>265 <Position20>266 <Filename Value="..\..\UVarBlockSerializer.pas"/>267 <Caret Line="243" Column="1" TopLine="236"/>268 </Position20>269 <Position21>270 <Filename Value="..\..\UVarBlockSerializer.pas"/>271 <Caret Line="244" Column="1" TopLine="236"/>272 </Position21>273 <Position22>274 <Filename Value="..\..\UVarBlockSerializer.pas"/>275 <Caret Line="243" Column="1" TopLine="236"/>276 </Position22>277 <Position23>278 <Filename Value="..\..\UVarBlockSerializer.pas"/>279 <Caret Line="244" Column="1" TopLine="236"/>280 </Position23>281 <Position24>282 <Filename Value="..\..\UVarBlockSerializer.pas"/>283 <Caret Line="243" Column="1" TopLine="236"/>284 </Position24>285 <Position25>286 <Filename Value="..\..\UVarBlockSerializer.pas"/>287 <Caret Line="244" Column="1" TopLine="236"/>288 </Position25>289 <Position26>290 <Filename Value="..\..\UVarBlockSerializer.pas"/>291 <Caret Line="243" Column="1" TopLine="236"/>292 </Position26>293 <Position27>294 <Filename Value="..\..\UVarBlockSerializer.pas"/>295 <Caret Line="244" Column="1" TopLine="236"/>296 </Position27>297 <Position28>298 <Filename Value="..\..\UVarBlockSerializer.pas"/>299 <Caret Line="243" Column="1" TopLine="236"/>300 </Position28>301 <Position29>302 <Filename Value="..\..\UVarBlockSerializer.pas"/>303 <Caret Line="244" Column="1" TopLine="236"/>304 </Position29>305 <Position30>306 <Filename Value="..\..\UVarBlockSerializer.pas"/>307 <Caret Line="243" Column="1" TopLine="236"/>308 </Position30>309 164 </JumpHistory> 310 165 </ProjectOptions> 311 166 <CompilerOptions> 312 <Version Value="1 0"/>167 <Version Value="11"/> 313 168 <PathDelim Value="\"/> 314 169 <Target> … … 319 174 <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> 320 175 </SearchPaths> 176 <Parsing> 177 <SyntaxOptions> 178 <SyntaxMode Value="Delphi"/> 179 </SyntaxOptions> 180 </Parsing> 321 181 <Linking> 182 <Debugging> 183 <DebugInfoType Value="dsDwarf3"/> 184 </Debugging> 322 185 <Options> 323 186 <Win32> … … 326 189 </Options> 327 190 </Linking> 328 <Other>329 <CompilerPath Value="$(CompPath)"/>330 </Other>331 191 </CompilerOptions> 332 192 <Debugging> -
CoolStreaming/DynNumber.pas
r571 r572 1 unit UDynNumber; 2 3 {$mode objfpc}{$H+} 1 unit DynNumber; 4 2 5 3 interface 6 4 7 5 uses 8 Classes, SysUtils, UBitStream, Math;6 Classes, SysUtils, BitStream, Math; 9 7 10 8 type … … 21 19 function ReadNumber2: QWord; 22 20 end; 21 23 22 24 23 implementation … … 74 73 destructor TDynamicNumber.Destroy; 75 74 begin 76 Stream.Free;77 inherited Destroy;75 FreeAndNil(Stream); 76 inherited; 78 77 end; 79 78 -
CoolStreaming/StreamHelper.pas
r571 r572 1 unit UStreamHelper; 2 3 {$mode delphi}{$H+} 1 unit StreamHelper; 4 2 5 3 interface … … 68 66 end; 69 67 68 70 69 implementation 71 70 … … 232 231 destructor TStreamHelper.Destroy; 233 232 begin 234 if FOwnStream then F Stream.Free;235 inherited Destroy;233 if FOwnStream then FreeAndNil(FStream); 234 inherited; 236 235 end; 237 236 -
CoolStreaming/SubStream.pas
r571 r572 1 unit USubStream; 2 3 {$mode delphi} 1 unit SubStream; 4 2 5 3 interface … … 27 25 property SourcePosition: Int64 read FSourcePosition write FSourcePosition; 28 26 end; 27 29 28 30 29 implementation -
CoolStreaming/TextFileStream.pas
r571 r572 1 // TTextFileStream class by Chronos 12.9.2005 2 // Homepage: http://jirihajda.zdechov.net/ 3 4 unit UTextFileStream; 5 6 {$mode Delphi}{$H+} 1 unit TextFileStream; 7 2 8 3 interface 9 4 10 uses Classes, SysUtils; 5 uses 6 Classes, SysUtils; 11 7 12 8 type … … 15 11 private 16 12 FBuffer: string; 17 protected18 19 13 public 20 14 function Eof: Boolean; … … 24 18 function RowsCount: Integer; 25 19 end; 20 26 21 27 22 implementation -
CoolStreaming/VarBlockSerializer.pas
r571 r572 1 // 2011-02-22 2 3 unit UVarBlockSerializer; 4 5 {$mode Delphi}{$H+} 1 unit VarBlockSerializer; 6 2 7 3 // One level of recursive VarInt size supported … … 11 7 12 8 uses 13 Classes, DateUtils, UStreamHelper, Math, SysUtils, USubStream,9 Classes, DateUtils, StreamHelper, Math, SysUtils, SubStream, LazUTF8, 14 10 SpecializedList, LCLProc; 15 11 … … 119 115 end; 120 116 117 121 118 implementation 122 119 … … 191 188 // Get bit length 192 189 Length := SizeOf(QWord) * BitAlignment; 193 while (( (Value shr Length) and 1) = 0) and (Length > 0) do190 while ((Value and (QWord(1) shl (Length - 1))) = 0) and (Length > 0) do 194 191 Dec(Length); 195 192 Inc(Length); … … 698 695 constructor TVarBlockSerializer.Create; 699 696 begin 700 inherited Create;697 inherited; 701 698 Stream := TStreamHelper.Create; 702 699 OwnsStream := True; … … 707 704 begin 708 705 if OwnsStream then begin 709 Stream.Free;710 end; 711 inherited Destroy;706 FreeAndNil(FStream); 707 end; 708 inherited; 712 709 end; 713 710
Note:
See TracChangeset
for help on using the changeset viewer.