Jump to content


Popular Content

Showing content with the highest reputation since 04/29/24 in all areas

  1. With the release of the new 2.0 version of Codolex we also introduced a new pricing model making Codolex free. Codolex is the premier low-code application architecture system for Delphi development. Even non-programming subject matter experts can contribute to the business logic with Codolex. Download Codolex today, and we hope you will also take advantage of the consulting services offered by GDK Software.
  2. If you changed the interface section (bad idea, really) that means that every RTL and VCL unit using system.sysutils needs to be recompiled in addition to your own units and the resulting dcus need to be put in a folder where they replace the dcus that come with the Delphi installation. And remember that said installation has different dcus for debug and release and different platforms, something D7 did not have. Best reevaluate the original cause for this change in D7 and see wether you can avoid it in D11 completely.
  3. Nobody really cares that much. It's a gruesome way to go. I'd solve the problem properly but you don't want to tell us what the problem is.
  4. I use them sometimes as a convenient way not to pass too many parameters. As far as I remember this comes with a performance penalty though. I declare those shared variables at the top of the main procedure, above the nested procedures, and those that are not shared below the nested procedures.
  5. Uwe Raabe

    VCL Form Designer Zoom

    Scaling forms is always problematic. We can see this every day with applications (not only Delphi ones) when used in a mixed DPI environment. Although I don't actually suggest to use it, there is an option to switch the form designer using a special PPI. The drawback is that it is used for all forms and not only for the large ones. Naively thinking that scaling the form display could easily be done by drawing onto a bitmap and simply display that downscaled, but that would imply that the whole user interaction has to be made with a bitmap instead of real controls. The effort to implement that with all its edge cases is way more than one would expect.
  6. Kazantsev Alexey

    Delphi Parser/Compiler Limitation?

    Use ampersand operator, Luke. program Project2; {$APPTYPE CONSOLE} uses System.TypInfo; {$SCOPEDENUMS ON} type TEnums = (&TRY, &SHR, &XOR, &IS, &AS); begin WriteLn(GetEnumName(TypeInfo(TEnums), Ord(TEnums.SHR))); WriteLn(GetEnumValue(TypeInfo(TEnums), 'shr')); ReadLn; end. Output: SHR 1
  7. Rather than editing SysUtils (and having to keep your changes up to date every time you upgrade Delphi), Detour the function calls you are concerned about: https://github.com/MahdiSafsafi/DDetours You can hook all of the relevant API calls and return whatever values you want.
  8. What you seem to be in denial of is the need to recompile every rtl/vcl unit because you made a significant change to the interface of SysUtils. Are you really prepared to recompile everything? I bet there's another way to solve your problem. If only you'd tell us what the actual problem was.
  9. Erwin Mouthaan

    Exception logging/reporting on MacOS?

    Version 1.1: Added: Delphi 11 support with OSXARM64 platform https://www.smartcrashlog.com/history.html
  10. Dave Nottage

    Exception logging/reporting on MacOS?

    https://blog.grijjy.com/2021/10/18/build-your-own-error-reporter-part-3-macos-intel/ Note that when this was published, there was yet to be support for ARM, however the last line says: "I may add some missing pieces to get this to work for ARM Mac apps as well" Since the code has not been updated since then, you'd need to either contact Erik or add an issue to the repo, regarding support for ARM.
  11. Hey my challenge peeps!! We have finally arrived at the end of the challenge!! It's been a fun ride, to say the least. The final results have been posted, with the usual minor ooopss, of course. Like stated before, I'll be accepting entries until I'm no longer in this plane of existence. A new results table for those entries will be made, and it will include all of the entries, old and new. Eventually, I'll also publish a results table for 400 Stations and 8 threads. Just need a bit of breathing space to get that done. But it will come. Let's hope this repository, and the effort of the participants, can stand as an example of the power that still resides in Object Pascal. Let's hope we can all shut up the nay sayers by merely pointing at it. All the best for you all in your future Object Pascal endeavours!! Cheers, Gus
  12. Achim Kalwa

    I'm on the Dark Side... no, really!

    Since I am affected of eye floaters for some years, I now prefer the dark mode; and I am working on making GExperts look good in that dark mode. Most changes are already done but not published yet. There are so many dialogs/forms that have to be modifies in the one or other way. Stay tuned 😉
  13. Uwe Raabe

    Slow rendering with SKIA on Windows

    Looks similar to this report: https://quality.embarcadero.com/browse/RSP-42714
  14. Having read through this entire thread, I can only repeat what others already said: Changing the interface part of SysUtils requires recompiling nearly all other RTL and VCL units. That was already the case with Delphi 7. I also agree that this is most likely not the best solution to your actual problem. You said you needed a global variable in the interface section of SysUtils that multiple functions in that unit access. Which functions are you talking about and what is the purpose of this change? If you don't tell us, we can't suggest alternative solutions.
  15. 2 points
    Hi Not sure the calendar is the best way to announce it, but it's an event ending in 12 days, so I try. 😉 As you know GDK Software organizes the Delphi Summit 2024 in June in Amsterdam. They allow me to give a free 2 days pass to someone and I started to think how I can do it not only with my Twitch viewers. The best idea was to create a lottery and open it with other gift prizes. So here we are. If you want to try your chance and participate you can go to https://loterie.developpeur-pascal.fr/ every day until the May 29th at 1PM (GMT+2). The prizes are: - 1 pass for the Delphi Summit 2024 (IRL or online if you can't be there) - 10 "Delphi" collector mugs (only for European citizens for logistic reasons) - 50 coupons to access all my private contents about Delphi and web programming (videos, live coding replays, training courses, blog posts) for French speaking people (use the French version of the website to contest in this category) If you have any question or suggestion, don't hesitate to contact me.
  16. Stefan Glienke

    What do you think of "Local Global variables"

    While I at times use local routines I avoid accessing outer scope local variables like the plaque because it usually generates quite a huge and often unnecessary stack frame.
  17. This should be updated with link to new quality portal https://qp.embarcadero.com/
  18. PeterBelow

    Show percentage in VCL TProgressBar

    Perhaps you remember TGauge, one of the sample components that came with early Delphi versions, before Windows introduced the progressbar common control.
  19. This little utility always worked pretty well for me: RunAsDate
  20. Anders Melander

    Block Component Exit Event on Cancel?

    You really shouldn't prevent the user from moving the focus; It's one of the most annoying ways to do validation. Instead do your validation in the OK handler. If you use TActionList you can also do the validation in the OnUpdate event handler and only enable the OK button when all validations pass. If you want to be really nice to your users do the validation while they are entering data but instead of blocking them just indicate errors with color or a symbol.
  21. Anders Melander

    The function of EmptyWorkingSet

    You are. The working set are the pages of a process' virtual memory that resides in physical memory. They are there because the process has a need for them to be there (e.g. it has referenced an address in virtual memory causing a working set page to be mapped to that address). If something else in the system has a need for physical memory, and it's all in use (which, by design, is normally is - because why not) then the least recently used pages will be paged out and eventually written to the page file, so the physical page can be mapped to the other process' working set. The above is just a simplification of the virtual memory management but the point is that, unless what you are doing is really extreme, then you don't have to think about it; It just magically works. I know everybody has to go through the phase of thinking that they can outsmart the OS virtual memory management by messing with the working set but you really should leave it alone. The OS virtual memory system was designed 50 years ago by people who actually knew what they were doing. You might very well be having memory issues but look to the memory manager instead. The working set isn't the problem.
  22. There's no difference between Delphi 7 and 11 with regard to modifying sysutils that I can think of. You have most likely not specified the correct project search path. Where have you placed the modified sysutils.pas ?
  23. I presume you copied this altered version to your projects path...? And it is missing from the other project? Project requirements that require a change to a file which might in turn get changed with every patch/update of the IDE are at least worthy of discussion.
  24. Sherlock

    A gem from the past (Goto)

    That reminds me: