Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


timfrost last won the day on June 22

timfrost had the most liked content!

Community Reputation

28 Excellent

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. timfrost

    Form no longer repaints after WM_SETREDRAW

    Have you tried setting caHide in the Action parameter in your FormClose method?
  2. timfrost

    Best components for creating windows service apps

    Yes, I no longer remember when I applied the patches; for each compiler change I just update the compiler defines, build and test. Occasionally I may have had to tweak something.
  3. timfrost

    Best components for creating windows service apps

    I am using DDService successfully in Delphi 10.3; my patched files have a 2013 date and do all that is currently needed in our service applications. I look forward to checking them against your versions in due course. I have also used SVcom in the past but found DDService easier to implement.
  4. timfrost

    Moving a file that is not yet flushed to disk

    Take a look at SetFileInformationByHandle in MSDN. I have used it for a different purpose (moving a locked open file) but it seems to provide some other tricks which may (or may not) help you.
  5. timfrost

    ANN: StyleControls VCL v. 4.53 just released!

    I agree with your view of Windows 10 default colours, but it is simple to get rid of the default white title bar, so that at least you can find the active window: Settings / Colours / Accent Colour
  6. timfrost

    Reverse scrolling TEdt?

    It is not clear whether you actually need to keep them somewhere structured and ordered, like a stringlist. For a VTV, I would create a nodedata structure for each one containing either the string or a pointer to it, then just insert the node. If you do want an ordered list later, you can just walk the tree; if not, you are done when you have created the node structure and inserted it.
  7. Yes. I have also been using a variant of this code for many years.
  8. timfrost

    Reverse scrolling TEdt?

    While I was typing a message which essentially said, "why not a TMemo", a notification of the first answer here popped up, so I did not bother. And it turns out your real question was as much about organising large numbers of additions as about the component to view them. I have an application which uses a VirtualTreeView for this purpose. This allows you to optimise the loading and updating of the list completely separately from the viewing of it. The VTV handles all the scrolling for you, and you simply insert nodes. Inserting takes much the same time if you insert at the top. bottom, or middle, and the items just appear on the screen, which only has to redisplay the currently visible nodes, wherever you do the insertion. It can be made extremely fast and efficiemt. especially if loading/updating the data is done in a background thread and notified to your inserter code.
  9. timfrost

    Recommendations on visual design

    My advice would be to avoid the smart panel controls that were added to the VCL a few versions ago. They claim to make it so easy but they rob you of control. I think TMS may also have some like that but I don't use them. I prefer to design what the application needs, and to work with plain panels and tabbed controls, grids, etc., with careful use of the align property. I normally use TMS. I don't know of any shortcuts to make all happen automagically, but I am ready to be told of one by someone else here!
  10. timfrost

    Code formatter in CnPack

    I really don't want to start a 'style war'; it is just that I find it easier to see the structure if the 'if' and the 'else' are aligned and each begin/end block stands alone with its own indentations.
  11. timfrost

    Code formatter in CnPack

    I hate this style, but I am pretty sure you can achieve it using the GExperts formatter, the one I have always used. [If not answering the question helps you]
  12. timfrost

    Component installs

    I also have many components, all with source. I always disable the vendor's 'install into the IDE' option. For the few awkward ones who do not allow this, I have the IDE installed on a previous development machine, do the install there, and then copy over the source and project folders. And in most other cases I install the source into a 'components' area which is not my production build area - how do you manage to review every source change if the vendor simply overwrites their previous version, as so many do? After moving the component source into the production build folders (one for each component) I run a FinalBuilder project which builds each component with settings (defined in the FB project) over which I have control. The FB project also installs each component in the IDE by setting the IDE registry keys for it, and I have a program of my own which sets the library and browsing paths for the IDE exactly as I want them to be. All the BPLs and DCPs are each in a single folder. I do much the same as you describe for the DCU and resource files for each project, although for some of the smaller components I do not bother with a separate DCU folder. FinalBuilder is the big timesaver for all this - once set up, you can click once and know everthing will turn out correctly!
  13. timfrost

    Different core file dates in 10.3.2

    There was a 'b' version of the ISO a short while after it first became available. Perhaps this had only a few files changed, and these are now also in the alternate installer (which I have nerer used).
  14. timfrost

    How to reliably know if there is data selected in TVirtualStringTree

    It sounds as if in your VT1mousedown event you should first call vt1.GetHitTestInfoAt to find out whether the mouse has been clicked on a node or not. Once you have the node, it is up to you to work out what you have put in it and whether it is a selected/focused node, and what to do with it if so. Presumably you always ensure that there is a node type or tag in the nodedata.
  15. timfrost

    Restore to maximized: strip to the right missing.