Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 03/06/24 in all areas

  1. Der schöne Günther

    Delphi and "Use only memory safe languages"

    For those interested, here is the very recent Secure by Design: Google's Perspective on Memory Safety (research.google) (March, 4th)
  2. shineworld

    2 seperate installs of Indy in the one IDE?

    I'm used to using a different Indy version in some programs. I've left the official Indy of Delphi installation and I don't touch it. In a project I add a sources\Indyxx path with the desired Indy version source code. Usually this is a modified version of the current GitHub because I need to manage some base mechanism to adapt it to my embedded devices. In the program options I added this path to Search Path: Obviously I don't use IDE to place Indy components onto form but I've to create them programmatically. At now building exe Delphi uses .\sources\Indy10 version file instead of Delphi native Indy.
  3. Stefan Glienke

    Delphi and "Use only memory safe languages"

    With the exception that ARC is one of the worst ways of doing that - here are some reasons.
  4. Dalija Prasnikar

    Delphi and "Use only memory safe languages"

    I hate to be the one saying this... but ARC compiler was a step in that direction. You cannot have memory safety without automatic memory management.
  5. Dave Nottage

    GrijjyCloudLogger & D12

    Is using the Console app to view log statements not an option?
  6. Anders Melander

    Trying to install JCL but I got error

    No, it's just begun. Okay, I'll stop now. I think I got my point across 🙂
  7. Anders Melander

    Trying to install JCL but I got error

    Yeah but have you looked into install.bat (warning: have the suicide prevention hotline on speed dial if you do): :: compile installer echo. echo =================================================================== echo Compiling JediInstaller... build\dcc32ex.exe %INSTALL_VERBOSE% --runtime-package-rtl --runtime-package-vcl -q -dJCLINSTALL -E..\bin -I..\source\include -U..\source\common;..\source\windows JediInstaller.dpr if ERRORLEVEL 1 goto FailedCompile :: New Delphi versions output "This product doesn't support command line compiling" and then exit with ERRORLEVEL 0 if not exist ..\bin\JediInstaller.exe goto FailedCompile echo. echo =================================================================== echo Launching JCL installer... ::start ..\bin\JediInstaller.exe %* if not exist ..\bin\JCLCmdStarter.exe goto FailStart ..\bin\JCLCmdStarter.exe ..\bin\JediInstaller.exe %* if ERRORLEVEL 1 goto FailStart goto FINI
  8. Dmitry Arefiev

    BringToFront alternative

    TStaticText ?
  9. Remy Lebeau

    Set dynamic array of records to nil: frees all content?

    In this example, yes. Like strings, dynamic arrays are also reference-counted. When you nil a reference to a dynamic array, its refcount is decremented. When its refcount falls to 0, its contents are finalized as needed (to release their references, etc), and the array is freed from memory.
  10. David Heffernan

    Set dynamic array of records to nil: frees all content?

    Wrong. Setting a dynamic array to nil is identical to setting length to 0 and identical to passing it to Finalize.
  11. mvanrijnen

    How to rearrange projects in projects group file?

    just drag and drop in the projects list of the group?
  12. Wow. That's a nice resource!
  13. David Heffernan

    Delphi and "Use only memory safe languages"

    That doesn't help if you have multiple variables that refer to the same instance which I guess is a more likely scenario for double free.
  14. dummzeuch

    How to rearrange projects in projects group file?

    Or, if you prefer using the mouse: There are Build Sooner / Build Later entries in the popup menu.
  15. Dave Nottage

    How to rearrange projects in projects group file?

    Select a project in Project Manager, use Ctrl-Up or Ctrl-Down to move it up/down the list
  16. Remy Lebeau

    TListItem.MinWidth doesn't work

    TListItem does not have a MinWidth property, you meant TListColumn instead. In any case, what version of Delphi are you using? I can reproduce the problem in Delphi 12 w/ Patch 1 installed. When dragging a column divider in the header, the TListColumn.MinWidth and TListColumn.MaxWidth values get ignored when the TListView is processing an HDN_ITEMCHANGING notification from the header. TListView looks for HDN_ITEMCHANGING to trigger a redraw of the active TListItem, but there is an 'else' that skips the MinWidth/MaxWidth processing: if (Mask and HDI_WIDTH) <> 0 then begin if code = HDN_ITEMCHANGING then EnsureItemRedrawn(nil) else // <-- HERE!! begin Col := GetColumnFromTag(Item); if Col.MinWidth >= cxy then cxy := Col.MinWidth else if (Col.MaxWidth > 0) and (Col.MaxWidth <= cxy) then cxy := Col.MaxWidth; Col.Width := cxy; end; end; When I take that 'else' out, the MinWidth/MaxWidth values work properly as expected: if (Mask and HDI_WIDTH) <> 0 then begin if code = HDN_ITEMCHANGING then EnsureItemRedrawn(nil); //else // <-- HERE!!! begin Col := GetColumnFromTag(Item); if Col.MinWidth >= cxy then cxy := Col.MinWidth else if (Col.MaxWidth > 0) and (Col.MaxWidth <= cxy) then cxy := Col.MaxWidth; Col.Width := cxy; end; end; This bug does not exist in Delphi 10.3, so it was introduced sometime after that version: if (Mask and HDI_WIDTH) <> 0 then begin // NO redraw LOGIC HERE!!! Col := GetColumnFromTag(Item); if Col.MinWidth >= cxy then cxy := Col.MinWidth else if (Col.MaxWidth > 0) and (Col.MaxWidth <= cxy) then cxy := Col.MaxWidth; Col.Width := cxy; end; I would suggest filing a bug report with Embarcadero, but Quality Portal is still down. I'll report it privately.
  17. Uwe Raabe

    TeeChart on Delphi 11.2 ?

    In the menu open Tools - Manage Platforms, switch to the Options page, check TeeChart Standard and proceed.
×