Changeset 37


Ignore:
Timestamp:
Dec 10, 2016, 10:36:38 PM (7 years ago)
Author:
chronos
Message:
  • Fixed: Wrong color in About form.
  • Fixed: Range check error in registry HKEY assignment.
  • Added: Windows 32-bit and 64-bit build profiles.
Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/CoolDisk.lpi

    r34 r37  
    99      <ResourceType Value="res"/>
    1010      <UseXPManifest Value="True"/>
     11      <XPManifest>
     12        <DpiAware Value="True"/>
     13      </XPManifest>
    1114      <Icon Value="0"/>
    1215    </General>
     
    1821      <StringTable ProductVersion=""/>
    1922    </VersionInfo>
    20     <BuildModes Count="2">
     23    <BuildModes Count="4">
    2124      <Item1 Name="Debug" Default="True"/>
    2225      <Item2 Name="Release">
     
    5861        </CompilerOptions>
    5962      </Item2>
     63      <Item3 Name="Windows 32-bit">
     64        <CompilerOptions>
     65          <Version Value="11"/>
     66          <Target>
     67            <Filename Value="lib/$(TargetCPU)-$(TargetOS)/CoolDisk"/>
     68          </Target>
     69          <SearchPaths>
     70            <IncludeFiles Value="$(ProjOutDir)"/>
     71            <OtherUnitFiles Value="Forms"/>
     72            <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
     73          </SearchPaths>
     74          <Parsing>
     75            <SyntaxOptions>
     76              <SyntaxMode Value="Delphi"/>
     77              <CStyleOperator Value="False"/>
     78              <AllowLabel Value="False"/>
     79              <CPPInline Value="False"/>
     80            </SyntaxOptions>
     81          </Parsing>
     82          <CodeGeneration>
     83            <SmartLinkUnit Value="True"/>
     84            <TargetCPU Value="i386"/>
     85            <TargetOS Value="win32"/>
     86            <Optimizations>
     87              <OptimizationLevel Value="3"/>
     88            </Optimizations>
     89          </CodeGeneration>
     90          <Linking>
     91            <Debugging>
     92              <GenerateDebugInfo Value="False"/>
     93            </Debugging>
     94            <LinkSmart Value="True"/>
     95            <Options>
     96              <Win32>
     97                <GraphicApplication Value="True"/>
     98              </Win32>
     99            </Options>
     100          </Linking>
     101        </CompilerOptions>
     102      </Item3>
     103      <Item4 Name="Windows 64-bit">
     104        <CompilerOptions>
     105          <Version Value="11"/>
     106          <Target>
     107            <Filename Value="lib/$(TargetCPU)-$(TargetOS)/CoolDisk"/>
     108          </Target>
     109          <SearchPaths>
     110            <IncludeFiles Value="$(ProjOutDir)"/>
     111            <OtherUnitFiles Value="Forms"/>
     112            <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
     113          </SearchPaths>
     114          <Parsing>
     115            <SyntaxOptions>
     116              <SyntaxMode Value="Delphi"/>
     117              <CStyleOperator Value="False"/>
     118              <AllowLabel Value="False"/>
     119              <CPPInline Value="False"/>
     120            </SyntaxOptions>
     121          </Parsing>
     122          <CodeGeneration>
     123            <SmartLinkUnit Value="True"/>
     124            <TargetCPU Value="x86_64"/>
     125            <TargetOS Value="win64"/>
     126            <Optimizations>
     127              <OptimizationLevel Value="3"/>
     128            </Optimizations>
     129          </CodeGeneration>
     130          <Linking>
     131            <Debugging>
     132              <GenerateDebugInfo Value="False"/>
     133            </Debugging>
     134            <LinkSmart Value="True"/>
     135            <Options>
     136              <Win32>
     137                <GraphicApplication Value="True"/>
     138              </Win32>
     139            </Options>
     140          </Linking>
     141        </CompilerOptions>
     142      </Item4>
    60143    </BuildModes>
    61144    <PublishOptions>
  • trunk/Forms/UFormAbout.lfm

    r33 r37  
    1010  OnShow = FormShow
    1111  Position = poScreenCenter
    12   LCLVersion = '1.6.0.4'
     12  LCLVersion = '1.6.2.0'
    1313  object LabelDescription: TLabel
    1414    Left = 20
    15     Height = 48
     15    Height = 50
    1616    Top = 108
    1717    Width = 493
     
    3434  object LabelContent: TLabel
    3535    Left = 20
    36     Height = 24
    37     Top = 176
     36    Height = 25
     37    Top = 178
    3838    Width = 493
    3939    Align = alTop
     
    6767      Top = 16
    6868      Width = 69
     69      Picture.Data = {
     70        1754506F727461626C654E6574776F726B47726170686963B30C000089504E47
     71        0D0A1A0A0000000D4948445200000040000000400806000000AA6971DE000000
     72        06624B474400FF00FF00FFA0BDA793000000097048597300000B1300000B1301
     73        009A9C180000000774494D4507E00C0A150E00F4B3F05200000C404944415478
     74        DAED5ADB8F1C5799FF7DE7D275E9EBF474261E4F64C7714C1242D0720BDA9558
     75        8363918021CB4A3CF107006F88379E82E02140F669F71D9E9190F66D11424222
     76        2F2C6861F11A6D22129031B1C73DB6C7D33DD5DD753B750E0F75AABAFA32E319
     77        C740027DA44FDD5D5D97F3FDCE77F97DDF296035566335566335566335566335
     78        56633556E3EF70D0712F387FFEEB0D21DC2F18633E4CC43AEF103DF600F373A5
     79        A21FBCFAEA37467F3600CE9FFF7A4D4AFFA744EC23CDE64970EE080020A20789
     80        71659883FF31F97F4484349DA4A3519F19635E4BD3F1B3AFBEFA8DE8A84F10C7
     81        998E94FE9701FAC8B973978410EE9CE26427C466D5A7FB03A050701908D3FFA6
     82        53532AC49B6FFEF049CE9DAF00F8CE9F050063CC177BBD27B8943EA2680FC6E8
     83        999530C6204D273026031107631C44CC7E17F63BB3A050E5BE1A809953CCD873
     84        CC3D812262F0BC2E7ABDA7E4CECE952FBFF4927EE59BDF64E6283AB1A32A7FE1
     85        C2CBA700F374BB7D8AB22C865231F6F6AE426B05C6721C936484341D4308179C
     86        D740C4AD4518689D22CB62E4D746502AB49F11B22C4196A5C8B2C49E37FD9D7F
     87        E69203924B9A86B87BF7F7D8DD7D03440C5916636DED3100E6D19FFDECDFFEE1
     88        A87A1D190022BAC49854BEBF6E279D2B12C7FBE52AC5F1109C3BE52A2F33FFDC
     89        6A0AC96624B7026DEF67CADF8514CFC9FD7E8C381E623CBE85C1E02A948AE138
     90        4D384E2B35463FFFC00100E8B36B6B678888416B05213C74BB67E1BA6D689DC1
     91        188D281A424ACFAE7C55D8916509F0A518A3ADB5111A8D4D3CF4D07BB1B1F134
     92        9ACDADD2ADBADDC705117BF18102F0C20BFFEE10D1279ACD935C6B0563348808
     93        8C4910710040140D91A6136BFA3427F34AD281B208DE14C4DCDFC9C61682E3B4
     94        D0689C80949EB5AE0CADD623648C7EF6C28597DB0F0C80349D9C3746BBF5FA06
     95        945A9E6182601BAEDB3E60556783DE224047115606DA8346962570DD35107146
     96        44171F1800C6984BF5FA462A8407A5E27970B0B37305FBFBD7D1689C38605559
     97        990DEEDF35F27B69AD6C40C4C2738A80BCB6762623629F7A600030C63FD7E99C
     98        9139CA71F9F0D1E826FAFDCBE0BC86B3673F09CFEB2E5DBDC349D2D1643E4628
     99        15DBB99899180118743A8F0A803EF3400078EEB96F9F35469F6AB5B6A054544E
     100        2208B6311EDFC6D6D6B3D8DCFC00A4F4C098B0F97E76A58BE38CF105595C6D3A
     101        1288855524C9185A67E5F55A67683436614CF6F0850B2F3FF3B68910115DE2DC
     102        558ED31661781700218EF7618CC6E6E607C1B95C1AB90FA3C542B8C899242F83
     103        579A8615EB5A647BD35BCE1F77912401A4F4218407AD53384E1BAEDB49A368F0
     104        2900BF795B16608C79B1DB7D9C31C64B9303806EF77108E1DC23E8CD8AE3B4D1
     105        E99C41A3B10921DC5221215C349B27D1E99C81E3B4EE1128679FC51887E3B410
     106        45431893416B052242AFF7942062F774834389FAC58BAFD401B377EEDCA7A5E7
     107        AD6334EA970F16C2398C9B2F14359CD7E0FB3D84E15D84E1DD252B4CA8D73750
     108        AF3F8C20D8469A4E8E5530E5AEA0E0FBEB70DD0EA26880D75FFFCF4CA9A87358
     109        85C80E5F7DFD7100C2F71F2AD39FEFAF5BE59745F983FC39CFE1711CD82C420B
     110        E700842C4B912481AD258E161B8AFF39AF613CBE05A52224C908AEDB01116742
     111        B817DF860B984BADD62399102E940A01181BE9F93172372BEB817C550DA4F421
     112        A507215C485947ADD6B0132644D16026A81D64FACB1864140D906509A26800C6
     113        045AAD2D05D0F3F70D0011FBD76EF79C3046234D43003911C903D8F1A96DCEE2
     114        C41CA1C9F97E91DF0B96795C1699D72428EFA3B5C2DADA5949449FBB2F002E5C
     115        78F91963F48966F324948A6C706188A281B50276C4FCCD97A44509211C08E180
     116        F31A38AF1D98160FAB0DAA29F2F6EDFF87EFF74A82A5548C566B0BC6E813CF3D
     117        F7ADA78E0D00113D5FAB3553C769214946000C181388E3210003C7691F92CB8F
     118        EEBBF70360954502C0CECE159BFF1F2EE7A45408C769A1566B2A63CCA7EFC305
     119        E85F36369E1644842409CAC0051082601BB55ADDFA2DBB07B1395C817B837830
     120        8000D0EF5FC678BC8393273F5469BA7064590280B0B1F134678C1F0F80BC9232
     121        FFD86E9FA6BC299194848728E7DCC3E11FC19844BDBE51129AE3153A8BF9FC38
     122        00C6F13EAE5FFF05B22CC5D6D647218467EF234A46A8758A4EE75102F0B13CA5
     123        1F910912D1278918F3FD1EA26800A562D46A8D12F5228805C10DB86E078DC6C3
     124        657344EBEC6D353C0FAB1D8C3148921146A33EA268806673139EB70EC6F8026B
     125        542A451C07F0BC2E8CD112A08F03F8AF2301608C79A1D77B22E35C8A281A94FD
     126        B96A2FAF9868140D902463384E0BBEDFB39DA1FD4AD94CC70262915419145618
     127        C701B44E21A50FDF5F2F9B2345215434668CC9A0548C30DC85EFF7D06E9F4E87
     128        C36B979601B0E0022FBDA48931FEE2FAFA7B84D699354D89C9E436A26850A6B2
     129        3CE564C8B214693A4610DCC0EDDBAF637FFF86254C0FA1D1D884E3B42C65A6B9
     130        76989E01C8185336383997E0BC06293D70EED82C21E0384DB8EE1A5CB70DC604
     131        8C31D05AD9CA30853119B22C46928C91240126935D9B0E1F93447C292DE60B26
     132        21BC0F02E6AB67CE7CA26C4CD66A75302690A66344D11EA4F4C198449645D03A
     133        B5A2A075822419210CEF623CEE97FC9C88414A0FAEDB86EB766CEFAE895AAD61
     134        A5591E2BEA8B62E5D3740CA542EB5AC6FAB69A792663029C4B44D11EC2700F59
     135        1695562BA50FCF5BC3CECEE5F6638F5DFCFED5AB3FD93DD40588E892E7F51229
     136        EBB5D1A80FAD5308E1C1F77BE0BC86D1E826F6F6AEA2D77B1242B8334AE6016A
     137        EA1E5AA708C3BD4A70CCB3481EEC7879DEE21E00CD345073C595B5926CE6B368
     138        8DEDEF5FC76472079C3B65B599C7A521D6D79F809475A554F83C80DFDE2306D0
     139        673736DE2701200CEF8288100437B0BBFB064E9FFE67485947140DA1548846E3
     140        043CAFBB647384167CFFB81B240528D56EF0F4372A2E94B3BFF178C796C30ABB
     141        BBD70A0E0080D0EB31F47A4FF07EFFFF3E03E03F0E03801993BDBFD93C49693A
     142        B1FC3F7F40A3B189281A5A42C4B1BBFB26A268582A36656D34A7342D0032FD6D
     143        EC6A563746CC4C405B76CEBCE5C4F1B0AC50D334CF42E3F1AD62370B693A46BB
     144        7D8AFAFDCB1FBA5716A8A7E9240B821B683637D1E93C5A363FAA4A16E65528BC
     145        2C3B4C8FCF6702639533957D001C08C432D0E6ADCAF3BAA8D59A65706EB74FE7
     146        018E4B1B735AD8DD7D03711C48002E806819002E007F7BFB579E943E948AB0B1
     147        F10CDAEDD30B79F6DD32B45688A221FEF0879F627BFB97D8DEFE9F06001F80B2
     148        52024016007734BA496FBDF5DF502AC6F5EB3FFF9B780740A90877EEFC16E3F1
     149        AD42CF781E0009A0660541B08DD1A80F297D384E138CC925C18C9604372AAD65
     150        5AE8CC06B2AA0F571B9C8DC609BBA9C2CABA63EA02B3EE905F9353E7A9EBE4E7
     151        C57160F90AB3A57102A5425BCE03564759F893A8F0013E1F13A681900E89E6D3
     152        2038EDCEC8325E14016DAAC462766836B7A0B54218EEA1D57A044404A52284E1
     153        5D341A9B08C35D1863E0BA1D8C467D78DE9AF5798EE1F02D18A32DCFE8942931
     154        EF5F2EED28177A3200199B6BD0CF1434C77AD362AE4A9BA7B587F50D857010C7
     155        FBE8F72F5BE629104503DCBCF96B10310C877FC470780D8C09F4FBBF461C0765
     156        71B6BDFD4BDCBCF9BF180CAE9541B0D82AAB2E92D527ABB05FAA866717C01A80
     157        F689131FB8C2989485092E4F618B1650909B83563F6F732DBF97E775D1ED9E2B
     158        ABC2E559A1DA5592D645B2B25153CC456B85DBB75FB3BBCDD30C952401C270EF
     159        D6CECEE57F0230B09215269F1591D118FD3B63F4938C719A96B98B0467D1F7C5
     160        CC0B1139780C8CE53543AE18CDB142947BFD7B7BBF07E74ED9322B98DFACFF53
     161        497B8DD1952DB259B72D624495A3A469986659F2A34A06C8AA413005900048E2
     162        78FF15D7ED7C4F6B328C09AABEADB1AC455504BEAAF20550B366BFE822D36364
     163        DF39482B41AFFA7EC0347016EF1FE40D0FB3B4E2CC2D2FAD94D081CEB2389D4C
     164        EE7CD7EA992EDB177001B40034D7D61EFF7CAD56FF1240A7A99C3155F8002D30
     165        BD69A79855266FE65E6C600BD74FAF2BA2BA2EAFAFF6168A7B33262AC7CDD272
     166        3B2FA04AAE9318A37F3399ECBE1204D77F0160DF4AB6AC58AF5B101AF6BB0FC0
     167        EBF5DEFB35219C8BEFAEDC1FFFF8CE9DD7BE0D6002600C606425B03CE0C06E45
     168        A17C1D8007C075DDB5538ED37EC646507DBC374BFE7283889431461051164583
     169        2B51B477CDD2DE89955195061FD6AEF12AE258E2202B00D03B74E18BC529827A
     170        62150EAD24C7D91B64362E14CC49BC0B00A802510090CCAFFA913747E7D8133F
     171        D28B7B7F652FA8BC62A6DEE1735D8DD5588DD5588DD5F86B8F3F01381162892B
     172        21C0370000000049454E44AE426082
     173      }
    69174    end
    70175    object LabelAppName: TLabel
    71176      Left = 104
    72       Height = 73
     177      Height = 54
    73178      Top = 16
    74       Width = 231
     179      Width = 167
    75180      Align = alCustom
    76181      BorderSpacing.Around = 20
    77182      Caption = 'Cool Disk'
    78       Color = clBackground
    79       Font.Height = -53
     183      Font.Height = -40
    80184      ParentColor = False
    81185      ParentFont = False
    82       Transparent = False
    83186    end
    84187  end
  • trunk/UCore.pas

    r34 r37  
    77uses
    88  Classes, SysUtils, XMLConf, FileUtil, Controls, UProject, UPhysDrive,
    9   UCoolTranslator, UPersistentForm, UApplicationInfo, URegistry, UScaleDPI;
     9  UCoolTranslator, UPersistentForm, UApplicationInfo, URegistry, UScaleDPI,
     10  Registry;
    1011
    1112type
     
    5758procedure TCore.LoadConfig;
    5859begin
    59   RegistryContext := RegContext(Integer(ApplicationInfo1.RegistryRoot), ApplicationInfo1.RegistryKey);
     60  RegistryContext := RegContext(HKEY(ApplicationInfo1.RegistryRoot), ApplicationInfo1.RegistryKey);
    6061  PersistentForm1.RegistryContext := RegistryContext;
    6162  XMLConfig1.Filename := GetAppConfigDir(False) + 'Config.xml';
     63  ForceDirectories(ExtractFileDir(XMLConfig1.Filename));
    6264
    6365  CoolTranslator1.Language := CoolTranslator1.Languages.SearchByCode(XMLConfig1.GetValue('Language', ''));
  • trunk/UFileStreamEx.pas

    r31 r37  
    4444
    4545uses
    46   RtlConsts, BaseUnix;
     46  RtlConsts{$IFDEF Linux}, BaseUnix{$ENDIF};
    4747
    4848const
     
    6969  LinuxFlags: Longint;
    7070begin
     71  {$IFDEF Linux}
    7172  LinuxFlags := 0;
    7273  case (Mode and (fmOpenRead or fmOpenWrite or fmOpenReadWrite)) of
     
    8485
    8586  //Result := DoFileLocking(Result, Mode);
     87  {$ENDIF}
    8688end;
    8789
     
    9193  LinuxFlags: Longint;
    9294begin
     95  {$IFDEF Linux}
    9396  LinuxFlags := O_RDWR or O_CREAT or O_TRUNC;
    9497  if ffDirect in Flags then LinuxFlags := LinuxFlags or O_DIRECT;
     
    98101    Result := fpOpen(pointer(SystemFileName), LinuxFlags);
    99102  until (Result <> -1) or (fpgeterrno <> ESysEINTR);
     103  {$ENDIF}
    100104end;
    101105
     
    105109  LinuxFlags: Longint;
    106110begin
     111  {$IFDEF Linux}
    107112  LinuxFlags := O_RDWR or O_CREAT or O_TRUNC;
    108113  if ffDirect in Flags then LinuxFlags := LinuxFlags or O_DIRECT;
     
    112117    Result := fpOpen(pointer(SystemFileName), LinuxFlags, Rights);
    113118  until (Result <> -1) or (fpgeterrno <> ESysEINTR);
     119  {$ENDIF}
    114120end;
    115121
     
    122128function FileReadEx(Handle: Longint; out Buffer; Count: Longint): Longint;
    123129begin
     130  {$IFDEF Linux}
    124131  repeat
    125132    Result := fpRead(Handle, Buffer, Count);
    126133  until (Result <> -1) or (fpgeterrno <> ESysEINTR);
     134  {$ENDIF}
    127135end;
    128136
    129137function FileWriteEx(Handle: Longint; const Buffer; Count: Longint): Longint;
    130138begin
     139  {$IFDEF Linux}
    131140  repeat
    132141    Result := fpWrite(Handle, Buffer, Count);
    133142  until (Result <> -1) or (fpgeterrno <> ESysEINTR);
     143  {$ENDIF}
    134144end;
    135145
  • trunk/UPhysDrive.pas

    r30 r37  
    193193    NewDriveInfo.Size := FWbemObject.Properties_.Item('Size').Value;
    194194    NewDriveInfo.SectorSize := 4096;
    195     NewDriveInfo.SectorCount := NewDriveInfo.Size div NewDriveInfo.SectorSize;
    196195    NewDriveInfo.Path := FWbemObject.Properties_.Item('DeviceID').Value;
    197196    Add(NewDriveInfo);
Note: See TracChangeset for help on using the changeset viewer.