Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 08/19/25 in Posts

  1. Yes, but who turns that off? Much code (even in System units) will fail with that setting off, and lots of code will be executed unnecessarily (and may even produce wrong results since it isn't supposed to be called).
  2. Remy Lebeau

    what wrong with this function?

    The Result variable (enabled by default via the {$EXTENDEDSYNTAX ON} / {$X+} directive) has been available for a very very long time, much earlier than 2000. But even so, assigning values to the function's name is still an allowed option, too.
  3. David Heffernan

    what wrong with this function?

    What are you expecting anyone to do with this?
  4. Brandon Staggs

    what wrong with this function?

    Seriously, show the whole unit.
  5. At Softacom, we recently completed a large-scale project where we modernized a Delphi XE4 application. The system was used daily for payroll & HR, and over time, it had grown into a huge codebase with outdated dependencies. The goals were clear: Update the database access layer Support both MSSQL and PostgreSQL Add Linux support Introduce a testing framework to stabilize future changes Challenges we faced: Outdated data access technology – the system was incompatible with modern DB systems No testing framework – made regression risks high Cross-DB migration issues – MSSQL vs PostgreSQL differences (LEN() vs LENGTH(), IDENTITY vs SERIAL, transaction handling, etc.) Platform restrictions – Windows-only code needed to run on Linux Knowledge gaps – some application areas were undocumented and poorly understood, even by the company What we did: Replaced the legacy DB layer with UniDAC, making the app work with both MSSQL and PostgreSQL Handled SQL dialect differences and concurrency issues during the migration Added support for Linux by rewriting ±769,000 lines of Windows-specific code Built a unit testing framework from scratch (500+ tests) Automated about 30% of the process with our internal conversion tools Outcomes? Query time reduced by ±35% Defects cut by ±50% thanks to tests Full Linux (Ubuntu, CentOS, Debian) support added Technical debt reduced by ±40%, making the system easier to maintain and extend If you are interested in a full breakdown of this project, we have published it here: https://www.softacom.com/cases/softacom-transformed-a-delphi-xe4-system-for-mssql-postgresql-and-linux/
  6. I'm not sleepy, 🛌💤, but always awake, with my eyelids pinned wide open ... ☕👀🤪☕☕☕
  7. That crashes when Foo = nil and Short-Circuit Boolean Evaluation is off.
  8. Stewag

    Android 15 and edge-to-edge enforcement

    Stupid me! I copied the OnResize Code from your initial post in 2024! Now it works. Brilliant as always - thank you David!!! Best regards Steffen
  9. A.M. Hoornweg

    What new features would you like to see in Delphi 13?

    It would be nice if the IDE would let me use CTRL plus the mouse wheel to change the font size. But what I crave the most is to have a way to have source code and remarks side by side in different text columns. On modern computer screens, we have tons of horizontal space and far too little vertical space (of which 50% is whitespace). Having lines of code interspersed with remarks unfortunately has the side effect that less source code is visible on the screen. It would be sooo lovely to have remarks and explanations *alongside* the source code instead of *inside* the source code. The code would be nice and tight and the remarks can finally become eloquent without getting into each other's way.
  10. Brian Evans

    what wrong with this function?

    Putting the function definition inside a Begin / End code block produces the multiple errors posted. So the unit has an open code block where the function definition currently is.
  11. You really should treat Julia better :D
  12. Uwe Raabe

    what wrong with this function?

    As mentioned elsewhere, you need to show more code that is before the function. The function code is correct, it is something before it that makes the compiler unhappy.
  13. Remy Lebeau

    what wrong with this function?

    There's no such thing as an "active" class method. Non-static, dynamic, virtual methods - these all have a hidden implicit Self pointer to the object instance they are called on. Yes, because they will all be using the Self pointer. For example procedure TForm5.FormClick(Sender: TObject); begin ABCycle.Visible := True; end; Is really this: procedure TForm5.FormClick(Sender: TObject); begin Self.ABCycle.Visible := True; end; If such a procedure is trying to access members of the Form of object, then yes. I suggest you brush up on your fundamentals. For instance: https://docwiki.embarcadero.com/RADStudio/en/Procedures_and_Functions_Index https://docwiki.embarcadero.com/RADStudio/en/Classes_and_Objects_Index https://docwiki.embarcadero.com/RADStudio/en/Methods_(Delphi)
  14. corneliusdavid

    Claude a.i and I

    I've found it to be helpful as well in many situations. Just this morning, I was updating an old Delphi XE program that needed to get a list of available drives and forgot what the procedure was called. Sure, I could've looked it up but Claude reminded me of GetLogicalDriveStrings much quicker. Earlier this week, I wanted to try out Claude Code on my Windows machine. I learned it required Linux and didn't work on my currently installed WSL version 1. (The web-based) Claude helped me figure out which version of WSL I had, install WSL 2, then even though it was installed, WSL 1 was still the default so it helped me change that. Then, I had to go through a similar process with nodejs and npm. I learned several new "wsl" commands and got it up and running. It would've taken me many hours hunting down forums and blog posts to put all those pieces together--I probably would've given up. It's not great at writing whole programs or untangling a huge library of code but it can sure save time in many instances.
  15. Due to the continued abuse, the following functionality will change from this date: Images, links and emojis are generally disabled Text emojis will be allowed Quoting limitations will be enforced to single sentences AI filters will be applied to the posts to moderate strong language, personal attacks, and spam Lack of proper grammar, punctuation and Capitalization will be penalized Humorous comments must achieve a rating of at least 42 to be accepted as humor Cat images will be allowed on Saturdays(no nudes, i.e. cats without hair) Recursive posts will be moved to Posts, Recursive Cursive fonts will be righted Use of blinking fonts for important spam is encouraged Links to Rick Astley music videos are encouraged
  16. How to delete all the files just in case you need to, for some unknown reason. Manual uninstall of RAD Studio/Delphi/C++Builder 12.0 Athens Launch the License Manager from the bin folder (by default “C:\Program Files (x86)\Embarcadero\Studio\22.0\bin\LicenseManager.exe”) and delete any trial or beta (Test Field) license that you can find. Check it under “License Details” in the center column. Under your Control Panel’s Program and Features Add/Remove Program uninstall the following entries: RAD Studio 12 version 23.0 Please follow these instructions to remove any leftover files: 1. If Windows 64-bit, remove the C:\Program Files (x86)\Embarcadero\Studio\23.0 directory (or the custom folder you had used). 2. Remove the C:\Users\Public\Documents\Embarcadero\Studio\23.0 directory 3. Remove the C:\ProgramData\Embarcadero\Studio\23.0 directory. 4. Remove the %APPDATA%\Embarcadero\BDS\23.0 directory. 5. Remove the HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\23.0 registry key 6. If Windows 64-bit, remove the HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Embarcadero\BDS\23.0 7. If Windows 64-bit, remove the following files from C:\Windows\SysWOW64: BDEAdmin.* CC32*.DLL Midas.* Xerces*.DLL If you had problems in the second step (uninstalling from Windows Control Panel), try this Microsoft tool to solve un-installation problems: https://support.microsoft.com/en-us/topic/fix-problems-that-block-programs-from-being-installed-or-removed-cca7d1b6-65a9-3d98-426b-e9f927e1eb4d
  17. David Heffernan

    The Case of Delphi Const String Parameters

    Nothing to see here. Carry on using const for string parameters. The issue is vanishingly rare. If you encounter the issue, fix it. Don't go changing existing code unless you are actually affected by the issue.
  18. Yes, what happened with her between 2001 and 2003 ??
  19. Freeeee

    what wrong with this function?

    code was from ? 2000,. Worked then. There wasn't a reserved word "Result" so you used the function name at the end of the code set equal to whatever variable you were using to get the results. Function doSomething: Integer; var X : integer begin X := code to do something; doSomething := X; end.
×