Jump to content

corneliusdavid

Members
  • Content Count

    620
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by corneliusdavid

  1. corneliusdavid

    rease ... at ReturnAddress

    The solution for this is genius! Thanks, @dummzeuch for that blog article and the library!
  2. I had heard of this utility once before but failed to follow up and read about it--then promptly forgot about it. This looks very promising to solve a major migration effort at my job!
  3. corneliusdavid

    DelphiLint v1.1.0 out now!

    After reading some of the other posts here about Java 11, I breezed through the installation for both D11 and D12, opened a small project, made sure several units were open in the IDE, and selected Analyze All Open Files. I like how the suggestions are brightly highlighted right in the IDE--many good suggestions. This is pretty slick! I thought at first it only analyzed the current file but as soon as I switched to a different file in the IDE, the Delphi Lint window updated with the different list of suggestions for that file. Double slick!!
  4. Yes, I'm a subscriber, too, and find it incredulous that I keep getting emails from "my representative" (as if I need one) about learning about the new version and would I like a demo. I usually just ignore these, shaking my head. But recently, I was in a mood that just sent me over the edge and fired back an email asking why on earth they keep asking if I want a demo and why doesn't the marketing department have a list of current paying customers? (I said a little more than that.) I got an apology back with a note that "marketing will be updated." I think every time we register for a webinar and have to check that box that agrees to receive marketing material, that it re-flags our email address as a "potential" new sale. I might stop registering for webinars and just watch the YouTube replays from now on. Yep. That's why we're still here. LOL! It's been a while since I heard these "shoot-yourself-in-the-foot" phrases--so funny because they're so true!
  5. As @Dalija Prasnikar said, it'll depend a lot on your code. I work for a company who never upgrade a whole suite of accounting programs from Delphi 5; my primary job is to upgrade them to a newer version of Delphi and I'm very glad because many of the programs actually crash Delphi 5, just sitting there in the IDE, without editing or compiling! I'm sure it's some of the in-house components but there's just so much code and over two decades of history that I just can't wait to get rid of that version and move into a better, more feature-rich IDE with better debugging and newer components. Throughout this process, we're reviewing all the libraries and climbing out of a lot of technical debt. A big part of the change is switching from the BDE to FireDAC--that alone is solving a lot of problems and is a big factor in performance and stability. For my own projects, I have some code in Delphi 7 and XE, those are very stable versions; I prefer Delphi 10.4 and 11 for the IDE features--those are working well for me.
  6. corneliusdavid

    RAD Studio v12.1 Toolbars Wonky Behavior

    That's a great tip--I never noticed the "reset" button but I'll have to try that next time things look weird.
  7. corneliusdavid

    RAD Studio v12.1 Toolbars Wonky Behavior

    Are you using High-DPI? I was using mine in a multi-monitor setup where one of the monitors is High DPI and the other is regular resolution. My default desktop would run Delphi on the High-DPI monitor so I could see more on the screen at once while coding but I wanted to see the code while running the application, also on High-DPI, so the debug desktop was on the other monitor. After a few debug sessions with Delphi switching back and forth between the monitors, it started going wonky, so I just gave up and now always run Delphi on the High-DPI monitor only (always in DPI-unaware mode). But yeah, I remember toolbars disappearing or showing in weird places.
  8. corneliusdavid

    FindFirst (Delphi) vs Dir * /s

    dir c:\* /s This is probably filtering out hidden and system files while FindFirst does not.
  9. Yes, this has annoyed me in nearly every Windows program for many years. I often want to highlight something or select a row in a list, then go to a different program and look back at the other program to type something in that is similar or whatever and when I look back, the highlight is gone until I switch focus back to that program. I don't understand why someone thought this was better and designed the OS this way.
  10. corneliusdavid

    [DELPHI 11] Runtime error 236

    Strangely enough, I just also ran into this with Delphi 10.4 but had much less success. I tried disabling several packages but to no avail. In desperation, I tried to reinstall Delphi 10.4; it uninstalled it fine but when it started re-installing got an error trying to write a style file in the "Public Documents" folder. I thought this was very strange, especially since there is plenty of space and a quick test proved I could create a text file, modify it, and delete it just fine. Rebooted the computer--still no go. I have Delphi 10.4 still installed and working on my laptop, so at least I have that as a backup but this is concerning. I don't think it's a Delphi problem but won't have time to research further until next week.
  11. corneliusdavid

    Stack Overflow Developer Survey for 2024

    And don't forget to select MS Build for "developer tools for compiling, building and testing" as that's what the Delphi IDE uses.
  12. corneliusdavid

    What do you think of "Local Global variables"

    I have found myself writing a method that then got longer than I originally anticipated. In order to keep it to a manageable size, I would separate sections out to sub-procedures but then find it necessary to refactor and the decision to send parameters to these new subroutines or not generally ends up with these "local global variables" instead so I don't have to change so much of the code. Yes, it's a little lazy but I never considered any performance hit until reading this thread. Still, for these programs, the performance is usually negligible. And for the record, I never start out with the intention of writing nested procedures like this, it only happens after-the-fact during a refactor process.
  13. Yes, I have used the UniGUI Migration tool on a fairly small (~40k lines) Delphi XE project. It's supposed to take a VCL program and replace all the components with their UniGUI equivalents so that you can turn your Windows-only program into one that runs through the web. As most typical applications, I use a few third-party components like DevExpress Quantumn Grid, Raize Controls, and some spell-check components. I figured I'd either lose functionality or have to find replacements for a few but was surprised that the migration tool does not support ANY third-party controls; in fact, it doesn't even support all the VCL ones. It doesn't know how to translate TLabeledEdit, TNotebook, TGridPanel, TBalloonHint, TBevel, TDBRichEdit, TDropDownButton, or (a big one for me in this particular project) TCategoryButtons. Many of these I could modify the script to add direct replacements but something like TLabeledEdit that needs both a TLabel and a TEdit, you have to do manually (separate into two VCL components in the original code before migrating). Things like TBalloonHint just get deleted as the functionality on a web app is different. Also, none of the dialog components (TOpenDialog, TSaveDialog, TTaskDialog, TPrinterSetupDialog) are supported. For most of the RaizeControls, I easily found the UniGUI replacements in the script for the VCL equivalents and added these to the list but I wish support for some of the more popular component sets could've been added to the standard script. If a control is not found, it's just skipped so it wouldn't hurt to have lots of third-party controls listed in there. The user interface is clunky--no settings are remembered between sessions, you have to hunt for the project file every time and once it's finished processing, the only option is to close the program. After running a migration and loading a converted project, I would make some changes to the script and have to restart the program, re-select the project file, and hit Next a few times in order to run the migration again; a minor irritation, I suppose, but for something that will be run multiple times until it looks right, having to restart and go through this whole series of steps instead of just clicking re-run or something was annoying. However, it does do a lot of the migration work for you, copying your project to a separate directory and making all the project and unit changes to produce a UniGUI project. I never did finish migrating my project to UniGUI because I was doing this on my own time and got busy with other stuff--but I still might come back to it some day and try to finish it.
  14. There is nothing AI Powered about it; he's just trying to utilize the current hype. The product has not changed in at least four years--except to be recompiled to support newer versions of Delphi. It's just a parser that replaces components and units according to a script.
  15. corneliusdavid

    [DELPHI 11] Runtime error 236

    For what it's worth, I've been using Delphi 10.4, 11, and 12 and just the other day, I encountered this exact same problem with Delphi 11, runtime error 236. I did a quick internet search and landed here, so tried the suggestion of removing things, except I went to the Registry and deleted entries from "Software\Embarcadero\BDS\22.0\Known Packages". Since I don't do any repository management from within the IDE, I deleted anything to do with SVN, Mercurial, and Git (about 6 entries, I think) and restarted Delphi 11 just fine.
  16. No need for any changes to my entry--TStreamReader handles both already. And yes, I tested it.
  17. corneliusdavid

    Simple LiveBindings usage questions

    I inadvertently included a second screenshot in my previous post--ignore that. Also, I didn't thoroughly read the whole problem and my answer does not solve the problem, even after playing around with the combination of AutoActivate, InitializeControlValue, Managed, and Track properties of the binding.
  18. corneliusdavid

    Simple LiveBindings usage questions

    In the LiveBindings Designer, click on the arrow-line that connects the two components (the line will turn bold to indicate it's selected): (Instead of visually selecting it, you can double-click the BindingsList component on the form and select the TLinkControlToProperty that connects these two components from the list of LiveBindings.) Then in the Object Inspector for this link, check InitializeControlValue.
  19. Lots of options! Command-line parameter validation fixed for Delphi--pull request made. Generated a few different sized files for testing, the last two: 100-million row file created in 9 seconds 1-billion row file created in 2 minutes, 23 seconds.
  20. QuickLib.Parameters would've prevented you from needing to reinvent the technique--but it's a little overkill and it would require bringing a whole lot of other stuff along with it.
  21. I almost made a pull request last night but then backed it out after I made another test. The generator program parses the parameters and checks to make sure they're valid but in Delphi, the way it's done adds a CR/LF which causes 'h' <> 'h$D$A' and thus fails even a valid command-line. I fixed that but didn't take into account that some parameters have a second part (like --line-count or --input-file) so I need to add that. I'll certainly make a PR when it's ready.
  22. Hey Gus, It seems like a fun challenge that people who have time and interest will look at and participate. We've got a couple of months, so plenty of time to get involved if you're so inclined. One question: the .CSV in the repository has only 44,691 entries. So, the idea is that we need to run the generator program first to generate the 1B file, right? I suppose this could also, then, be used to generate smaller files for development testing. Thanks for the links and for bringing it to the Delphi community!
  23. corneliusdavid

    What about System.JSON?

    Might possibly be for future implementation. Or maybe these were part of a large group of types or constants imported from a header file of some sort. I found a couple of references that look like there's some relevance: https://github.com/dotnet/runtime/issues/29900 https://www.newtonsoft.com/json/help/html/t_newtonsoft_json_defaultvaluehandling.htm
  24. I would consider this a report: https://blogs.embarcadero.com/we-are-experiencing-a-hardware-outage/
  25. corneliusdavid

    First Business Day Of Next Month ?

    This may be overkill and I'm not sure there's a way to limit to just bank holidays or to specify the country, but here's an API that boasts 5,000 holidays: https://apilayer.com/marketplace/checkiday-api
×