Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 08/03/22 in all areas

  1. https://quality.embarcadero.com/browse/RSP-16511
  2. I get no exception using D11.1 with this code.
  3. Uwe Raabe

    How do I update the sqlite dll in RAD Studio?

    The Client info mentions <sqlite3_x86.obj statically linked> That means the SQLite engine is part of the exe or bpl. You cannot change that for the IDE.
  4. Bill Meyer

    IDE Syntax Highlighter using Tree-sitter

    I have not yet looked into the project, but there is this: https://github.com/rickard67/LSP-Pascal-Library and this: https://github.com/rickard67/language-server-protocol They were written, it seems, in support of a text editor by the same developer. He provides an unusually large amount of info with snippets demonstrating calls. Seems very helpful, but it also makes me think the task is challenging, even with what he has already written.
  5. Uwe Raabe

    IDE Syntax Highlighter using Tree-sitter

    The LSP protocol is documented, but one has to implement the complete client code from the ground up and that is a pretty complex task. Currently there is no ready to use API provided by the IDE.
  6. tgbs

    Do you need an ARM64 compiler for Windows?

    My point is that Linux is everywhere, especially in servers and non-GUI devices. And today, with the energy problems, more and more ARM processors will enter them. And it's silly for the Embarcadero not to take this seriously
  7. Remy Lebeau

    Ignore exception type from code

    No (plus, that would require changing and recompiling the code, in which case you may as well just take out the offending code to begin with). But, you can accomplish something similar using breakpoints instead. Put a breakpoint at the beginning of the function, go into its properties, and disable the 'Break' option, and enable the 'Ignore subsequent exceptions' option. Then, put another breakpoint at the end of the function, go into its properties, and disable the 'Break' option, and enable the 'Handle subsequent exceptions' option.
  8. Davide Angeli

    Changing TToolButton image and using transparency

    I solved these issues abandoning tradional icons (BMP,PNG) to SVG. I started too from Google Material Design SVG icons but with a different approach because I needed icons not present in these libraries (some I drew, others I took from other online free libraries). So now I've several SVG sprites (some Google MD some customized) all designed 24x24 with black as the main color and I pick images from these sprites (for buttons, imagelists etc). SVG are pure XML so it's not difficult to change on the fly size or color (you have just to change an xml attribute or xml node), so, when I need SVG for dark theme or I need to use the sysop accent color I just change black stuff in the desired color. For me now is easy to reach something like this: I started these "revolution" on my apps about 4 years ago to approach both HIDPI monitors and dark mode and it was quite a lot of work; in that period SVG it wasn't as fashionable as now so I had to build some internal components myself to do this job. Now it seems that there are even opensource solutions that help to solve these problems. SVG is scalabale and is a text file. I don't like EMB approach of virtual image lists in which you have to provide several rastered icons for different sizes: Material desing base icons are 24x24 so if my app is 100% zoomed it uses this size, if the zoom is 150% ii switches to 36x36, if the zoom is 357% it uses 85x85 and so on, so the SVG images are rendered always of correct size for every zoom applied. I've categorized all my SVGs and each of them has a name like "confirm", "cancel", "exit", "print" etc. I've inerithed the components in which I need SVG stuff (buttons, images, ecc) adding a property in which I provide at design time just the SVG name and then all is solved at runtime as the program needs (style, size, zoom etc). In this way if I want to change/update an image I just modify the SVG sprite.
  9. PeterBelow

    TDICTIONARY

    Records are value types, so adding a record to a TDictionary<recordtype> adds a copy of the record to the internal storage, and Remove then clears up that copies memory. So there are no leaks, but adding a record and getting it back later always makes a full copy of the record, which can be a bit hard on performance.
×