Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 08/20/25 in all areas

  1. Added support for Linux by rewriting ±769,000 lines of Windows-specific code Built a unit testing framework from scratch (500+ tests) A code base with towards 700 000 lines of windows specific code presumably has much more that is not "windows specific". To then claim that 500 unit tests is useful strikes me as a sentence aimed at people who have never worked with unit testing. Even my simplest projects have unit tests measured in thousands.....
  2. Anders Melander

    Using "Claude Code" with Delphi

    It sounds as if you've given up before the fight's begun - and a fight there will be. On many different fronts. So far I've read and heard endless tales of the efforts wasted on "ai". I'm sure it will eventually settle into something actually usable - if we can survive that long, but until then I'm running circles around the people that try to get ahead of the game "ai". The cake is a lie.
  3. Yes it does. Our main project is a 32-bit Clang app and it compiles in the background, using 28 threads (on a PC with 32 logical processors). In BCB2007, we used TC, but since using v10+ and changing to Clang, we have found the Clang compiler using the above settings to be on a par speedwise. This is compiling a 32-bit Clang application just using Clang Batch/background compiling.
  4. Example sources: https://github.com/Steema/TeeGrid-VCL-FMX-Samples/tree/master/demos/FireMonkey/Database/Master_Detail_FireDAC TeeGrid can be easily programmed to display unlimited sub-grid levels. Just add an "expander" render to enable "+" and "-" clicks, and set an event to obtain your desired sub-rows. uses Tee.Renders; var Expander : TExpanderRender; Expander:=TeeGrid1.Grid.Current.NewExpander;
  5. Remy Lebeau

    Calling a 64 bit DLL from 32 bit code

    In a word, no. Certainly not directly, anyway. Basically. Load the DLL into a 64bit process, and then use some kind of IPC with the 32bit process. The article is using C#, but the technique is not limited to C#. A COM out-of-proc server is aits own EXE process, and can be instantiated by 32bit and 64bit clients. So, you can write a 64bit server that wraps the 64bit DLL (or use COM's own DllSurrogate if the DLL is itself a COM object) , and then a 32bit client can use the server's COM object. I'm not familiar with that. It looks interesting but I wouldn't trust it in production code.
  6. dummzeuch

    Define conditional symbol in .dpr

    My experience is definitely different: Changing an include file does not force the units that include it to be recompiled.
  7. Yeah, under the 'tips / tutorials' - there should be more substance than marketting. This is just spam otherwise!
  8. PeaShooter_OMO

    Using "Claude Code" with Delphi

    @Kas Ob. It is like having a conversation with an old pal who you know is an "embellisher" or "exaggerator". You never trust what he says and always suspect a lie being told. That is counter-productive. I would rather do the work myself. I use AI as a glorified search engine and still I doubt the answers it gives. And I absolutely hate the assumptions being provided as facts. Many times I see the AIs do that.
  9. Kas Ob.

    Using "Claude Code" with Delphi

    Agree, also lately i am trying to get handle on some use of AI. But, here one incident with Claude just less than 2 weeks ago, (free Claude as i am not ready to join the mass hallucinations with money yet), i had this piece of code that i just optimized, four functions that calculate some variations of an algorithm, but it was mess in commented lines and the original implementation, so out of laziness i pasted it for Claude and asked it to format it and extract/keep the original algorithms as comments, and it did beautifully in seconds, i checked the commented lines and it is right and correct, replaced the original code and all looked fine, Next day and out of pure luck, i was looking on different place in that unit file, and dropped the new/modified unit against the old in BeyondCompare, also by pure luck i noticed small difference in those lines, Clause changed one constant from (-8.427913) to (-7.779733), returned to my question in its history and it is there, i have no idea why and from where that constant came, but that indicate to me it is way far from being trusted, the four functions each have 7 constants that i calculated/simplified, yet it decide to change only one. That is big red flag. Another story on the opposite side; two days ago there was a certificate expiration problem in this very forum, and i have used Tampermonkey and Greasemonkey for years now, yet it is pain in the back still for me writing a simple script, searching the net for long time and failure goes hand by hand writing script for TM and GM, anyway, i had a script that i did years back which pop a small notification when loading visiting a site and its certificate will expire within 10 days. So i went with Grok and asked for Chrome Extension to do the same, without providing my GM script, and it gave a full instruction and code for such extension, the extension didn't work as there was problem in manifest file, with 2 consequential questions and report of the problem the extension was running perfectly on my Chrome ( i don't really use Chrome it self but a fork called Supermium, the portable version), it was smooth experience and just saved me lot of time, just brilliant, and huge time saving. Both Claude and Grok fail with Pascal/Delphi in so many ways sometimes fundamentally, yet Grok is do evolve from question to another unlike Claude which revert and keep returning to the original mistakes, as example when i asked them both to extract test vectors from C files, the test vectors where huge and more than 1000 bytes in hex values, both replaced some values out of the blue, just single byte (hex value) is different, Grok remembered the one broken value i pointed to in later questions, Claude fixed it once and after a question it reverted to the wrong value, trying to correct it second time it did drop the whole approach of constant and tried to convince me reading the data from external file is better and correct way ! I tried only the free Grok and Free Claude, as for resources extraction as the best to my short experience with AI is perplexity, it give extensive resources and sources to read when asked. For now i am on the watcher bench, waiting for some real advancement when this hype frenzy start to calm down like its dust.
  10. Vincent Parrett

    Using "Claude Code" with Delphi

    I've been playing with AI lately - if you can't beat them then join them 😢 My experiences are that the AI tools out there right now do not work that well for Delphi - they suffer far too much from library hallucinations (generate great code, if only the library existed!). I gave up and focused on some other projects/ideas On the other hand, if you want to create a React or NextJs application - they will do an amazing job. The main thing is to provide a good context to start with, use the AI to generate a Product Requirements Document - refine that before you have it start coding (and tell it not to start coding till you are ready). I'm still learning all this - but I was able to take a simple saas idea and spit out a working prototype in a day. I probably won't use the prototype - it generated Nodejs/Express/React code even though I told it it use asp dotnet for the backend - I'll recode it using some existing dotnet backend code (since nodejs is single threaded and I have background tasks) and iterate on the prototype front end React code. I will say the whole prompting experience is like looking over the shoulder of a junior dev - spending a day to get them to do a weeks worth of work. 2 steps forwards, 1 step back, over and over - it can be both exhilerating and friustrating at the same time. That 1 day chewed through my $25 Replit credit - so be prepared to spend. Will be trying claude code next - I have tried replit and bolt.new (good for web) so far, along with various others for basic chat stuff.
  11. Freeeee

    what wrong with this function?

    TOO ALL who answered. Remy is absolutely correct. I was trying something stupid and it didn't work. I thought if I could figure out why the IDE/Compiler got stuck there I might be able figure out how to fix it. And the problem was in the dot pfm file. which are part of the 451 lines above the problem. Thanks for pointing me to those URLz , Remy. They did help. Thanks everyone. I'll refrain from stupid questions... well.... I'll Try to refrain from stupid questions in the future. I've noticed that the Format the code option gives you a kind of Ominous warning. When some one asks you "do you 'Really' want to do this?" it made me think.."hmmm .... maybe not.'
  12. 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).
  13. 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/
×