All Activity
This stream auto-updates
- Past hour
-
It should be, but I have encountered an issue in the license file, and not sure how best to handle it. I should have it sorted out on Monday, I hope, and would be happy to have you test it.
-
Wow! Nice! It must be maintenance Saturday! I just tried it in Zen, Edge, DuckDuckGo, and Vivaldi, and all worked fine. Flush cache? There were some changes needed a week or so ago, because of plug-ins that were misbehaving. Other than that, I am at a loss.
- Today
-
Thanks, guys, I will manage. Good day to all
-
I am not a compiler or C++ expert, I just know that I can build ICS C++ packages with 32-bit and old 64-bit compilers, but not with the C++ Win64x Modern compiler. The technical reasons have been discussed in private forums only. Angus
-
Vibe Coding with Delphi: When Artificial Intelligence Becomes Your Pair Programmer
dummzeuch replied to Brandon Staggs's topic in Tips / Blogs / Tutorials / Videos
Since you mention Delphi 5: I remember a time - long ago - when using an autoinc field did not work with the BDE for some specific database type (I don't recall which one but it must have been either Interbase or Paradox because these were the ones we used back then), so we resorted to doing the whole unique ID generation in code. using a file on a network share and WinAPI functions for locking. If I remember correctly that was with Delphi 3, 4 or 5, at some time between 1998 and 2001 when I was working for fPrint UK ltd. Those were the days. 😉 -
I think that problem is different from mine. Mine were run-time errors caused by incorrect linkage while your problem appears to be a compile/link time error. I think it more likely that your problem is related to that which Angus mentioned.
-
That sounds strange. Does that mean that C++ Builder doesn't support dynamic linking 64-bit applications to the RTL/VCL? I don't have access to that issue.
-
I like this idea: Is your tool available for testing? My own code is usually free of circular dependencies, but I often have to work on customers code which suffers a lot. Recently I had a case where MMX needed several minutes to create the cycles view.
-
@Bill Meyer I could read your post, but there is something odd with the front page of the blog - it shows me nothing. I tested it in both my regular Chrome and in an anonymous DuckDuckGo browser.
-
My interest to help dropped to zero when I read:
-
If you run the Python program from the command line, can you redirect the output to a text file ( programname >> textfile.txt)? If so search google for Delphi TDosCommand That should get you some code for redirecting console output of an external program for a Delphi program's use.
-
Do you really expect anyone to search through all your source for the problem point? You should at least give the name of the file to look at, or just post the source of the problematic method here.
-
Simple blocks game made with Delphi and Firemonkey
david berneda posted a topic in Delphi Third-Party
https://github.com/davidberneda/Vidi-Blocks Simple blocks game made with Delphi and Firemonkey. All platforms (Windows Mac Android iOS Linux), full sources, no ads, no delays, just click and play ! -
The C++ 64-bit compiler does not yet output the necessary symbol files for packages to allow those packages to be referenced by other packages, RSB-503. I try to build C++ packages for ICS, it is not fun. Angus
-
Delphi 13 Trial... SmartCode Insight says "Not Found" error
Uwe Raabe replied to Al T's topic in Delphi IDE and APIs
AFAIK, the trial version doesn't support to install patches. So even if you were able to download it, installing the patch will probably fail. -
Delphi 13 Trial... SmartCode Insight says "Not Found" error
Al T posted a topic in Delphi IDE and APIs
So yeah.. decided.. to try out newest Delphi 13 before buying.. and well.. Smart CodeInsight says "Not Found" when trying anything in the project, but will say "Connection Established" when testing connection to Claude. The Trial version is attached to my old account where i owned Delphi 10.1 Professional. I installed the trial on a brand new machine without my old Delphi. It currently says: RAD Studio 13.0 Florence Architect Trial License file name: .slip Trial license: Yes License Expiration Date: 3/21/2026 Days Left: 91 License Type: Workstation Serial number: Registered: Yes Platform: Windows Commercial use: No Time Left: This License Activates: Delphi 13 Florence Architect Trial Time Left: 0 C++Builder 13 Florence Architect Trial Time Left: 0 InterBase 2020 ToGo Edition Trial Time Left: 0 InterBase 2020 Server Trial Time Left: 0 InterBase 15 ToGo Edition Trial Time Left: 0 InterBase 15 Server Trial Time Left: 0 RAD Studio 13 Florence Architect Trial It seems i can't download the RAD Studio 13 October Patch unless i renew my subscription.. and there's no Claude patch for what's listed here: https://blogs.embarcadero.com/rad-studio-13-smart-codeinsight-claude-patch-released/ within GetIt Package Manager! So.. any ideas? -
Delphi support for Google Protocol Buffers?
rossh replied to Lars Fosdal's topic in Algorithms, Data Structures and Class Design
Adding another build for Protocol Buffer on Delphi and FPC https://github.com/HHS-Software/Protocol-Buffer_Delphi_FPC -
Thank you. That might explain why I am having trouble compiling simple VCL component libraries
-
It is real story from real life, one i know told me about a colleague who has bright and smart older brother who knows hacking and want to prank his brother and brothers team, downloaded a source code of what called heart inducing prank form some hacking site, compiled it on the team member laptop using VS, not checking the code, the brother leave him with his laptop like a good brother, anyway he he build the prank and put it on the shared disk for the whole team, also he ran it on the same laptop but it somehow built to protect the builder, the result more than 10 form the company ran the prank and half of them got their PC/laptops wiped out data, as the that source has WannaCry copy, the the half that lost their data ran it using administrator user, and it only didn't ruin everyone day (week/month) is that he uploaded the prank in late evening on holiday, the one told me about this incidence didn't lose anything because he didn't ran that malicious prank, yet he was very upset for the friends who lost valuable personal data, and they changed the whole building and sharing system form open shared disk to managed and virus checked, and i want to point here that this prank building script makes it undetectable to almost every AV, as it is not yet seen and have so many random parts to make checking every build different. It is not about trusting a team member but we all might have such brother or friend, you can trust someone but you can't 100% trust his phone or laptop, at least that is my opinion, if your team is few, then OK you might know them on personal level and know their seriousness about everyone safety, but if you have big team, then .. well this goes better safe than sorry. How this signing gonna help in such case ? By ensuring the signing process is added by hand by the developer to build process in this case, it could helped as the brother most likely don't know where the certificate and its password (or token and their access in these days), same for random downloaded binary from the internet. The new system they did, made sure to block any not signed by valid and trusted binary from being shared, also they issued certificates from home made root and installed the root in the trusted for the developing users, while ensured that root not in the administrator account.
-
@Lars Fosdal rescued some of the original post from the edit history, so here it is: I've been trying to create a set of Graphics32 packages for C++ Builder and it's just been sooo much fun that I simply had to share the experience. Usually Delphi packages works just fine with C++ Builder, but Embarcadero, being the geniuses that they are, have made it so that if you only have C++ Builder installed, then Delphi packages can't be compiled. The pas source files compiles, but not the dpk package project itself. Instead one must recreate the package project in C++. So what's the problem? Surely that can't be too difficult? I'm glad you asked! Creating the run- and design-time packages was a poorly documented process which required an annoying lot of guesswork and trial and error but at least it was solvable. What came next however wasn't. So here are some of the reasons why Graphics32 will not have support for C++ Builder without the Delphi personality installed: The linker can't handle dotted unit names with bmp or win in them. For example GR32.Text.Win.pas and GR32.ImageFormats.BMP.pas. The linker incorrectly resolves pointer references from inline assembler if the pointer is declared in another unit. // bias_ptr points to a 16-byte aligned, dynamic memory block. // The pointer is declared in another unit. MOV ECX,bias_ptr // bias_ptr is resolved to incorrect addredd PADDW XMM2,[ECX] // AV here due to misalignment Some initialization sections aren't executed and some are executed in the wrong order. For example the initialization of the main unit GR32.pas, which is used by everything else, isn't executed. Aligned, static data (which is needed for some SSE2 functions) is not aligned. // SSE_0C080400_ALIGNED is a static, 16 byte aligned DWORD[4] PSHUFB XMM2, DQWORD PTR [SSE_0C080400_ALIGNED] // AV here due to misaligned address This is true even for pure C++ code (alignas directive, and the various variants) so it appears that the linker simply doesn't support alignment. This is with the 32-bit tool chain. The 64-bit tool chain doesn't have this particular problem. While some of the problems can be worked around with little work, some of them would require major changes which I can't really justify. All of this is with the 32-bit compiler, both classic and modern, both static and dynamic linking. I believe most, if not all, problem were caused by the linker. I didn't get to test the 64-bit C++ compiler much since there was no point in continuing, but my initial tests showed that it too had its own problems. This trip into the C++ badlands was a pretty horrible experience and I'm amazed at the amount of abuse C++ developers will accept from their tools. I used to do a lot of C++ before Delphi but I guess Delphi has made me soft.
- Yesterday
-
ANN: EurekaLog 25% Christmas Sale + 3 Months Extra of Maintenance Period
Kevin McCoy posted a topic in Delphi Third-Party
We're excited to announce a special EurekaLog Christmas sale! During this magical holiday season, we want to thank our users for their trust and give them a special surprise. EurekaLog continues to help developers around the world — and we're celebrating these successes with you. Use the XMAS2025 discount coupon when purchasing a new license or a prolongation to get a 25% discount and a bonus of 3 extra months of maintenance period. The offer is valid starting December 23 and ends at the end of December 31. You can use the discount code here: https://www.eurekalog.com/buy.php Please, do not forget to log in into your account, if you already own a EurekaLog license. Download EurekaLog Trial Contact Support -
Vibe Coding with Delphi: When Artificial Intelligence Becomes Your Pair Programmer
Ian Branch replied to Brandon Staggs's topic in Tips / Blogs / Tutorials / Videos
I too have been experimenting with Clude Code this past two weeks on a couple of projects. My Xmas Present to myself... Thus far, I would echo your conclusion. It saves a lot of donkey work, trust but verify, and I found myself being more of the Artist, Architect and Validator. -
I can't comment: I run RAD Studio (ie both C++ Builder and Delphi)
-
Vibe Coding with Delphi: When Artificial Intelligence Becomes Your Pair Programmer
corneliusdavid replied to Brandon Staggs's topic in Tips / Blogs / Tutorials / Videos
I'm migrating several old Delphi 5 accounting programs up to Delphi 12 at my day job. It's not a straight-forward lift-and-shift type of operation as we're replacing old panels and buttons with Raize Toolbars and replacing BDE tables with custom-wrapped FireDAC components. I've got scripts running complex regular expressions using reFind and so forth but there's still a lot of 20-year technical debt to overcome, most of it will require careful analysis and a deep understanding of what needs to be done and how we've chosen to do it going forward. Inspired by the positive comments in this thread, I installed Claude Code on a machine at my job yesterday. To my surprise and joy, it installed in the Windows command line, no longer requiring WSL2 which had held me back earlier (something about the BIOS needed to be changed and I didn't have permission, nor capability as a remote worker, to fix it). I decided to give it a go against one of the more mundane tasks I've been faced with. The old way of writing these programs was to avoid using queries at all costs (I shake my head in bewilderment at this sentiment). So when adding a record, there are a couple of things that need to be done: 1) prevent duplicates, 2) get the next unique ID. (I know, why not use an autoinc field???) In order to accomplish this without queries, the programmers would drop a second (or third) table component for the same underlying database table and keep it synced, then use this secondary table to do the checks or generate the next ID. Some of the forms are littered with table components (I guess they were afraid of data modules, too) and one of my big goals in this great migration is to reduce these as much as possible by replacing them with queries or tables created on-the-spot when needed. I figured this might be a good place to use AI. Since I had done this a few times, I knew what to look for and usually how much work it would take. (This, by the way, is critical to using AI effectively.) I used Promptessor to craft a good, descriptive prompt and reduce the back-and-forth often needed to clarify a poorly written question, read the generated Claude.md file and made some modifications, then set it out to do the first task. I was happy to see it write nearly the identical code I had for a previous situation; then again, I told it to look at my last two Git commits as an example (AI is really good at copying!). I gave it a few more similar tasks; on one of them, I realized there was a function call that required a table component, so told Claude that it would need to create a table component instead of a query for this one (unfortunately, it didn't figure this out on it's own) and it happily complied. This morning, I asked Claude to analyze the project for the next steps and it found 13 unused table components! I asked it to double-check with the DFMs and all other units in the folder to make sure we could safely remove them and watched the complex regular expressions it generated in its search. I double-checked its work and found that while the components and fields were not directly used, two of the components were being passed as parameters to a library function and so I told Claude to ignore those. Before 9:00 AM, I had another commit in the repository, another step on the way to migrating and cleaning up this old code in far less time than it would've taken me to find and remove all those components (I honestly had no idea there were that many unused table components on that form!). My conclusion is that AI cannot be left to modify code on its own; there must be competent and experienced developers who are overseeing what it does and making sure nothing is missed. AI is great at learning patterns, analyzing quickly, and doing a lot of work for us which improves our productivity but I don't think it's going to replace us any time soon because that's really all it can do: search for and repeat known patterns. I also found I need to hit my boss up for an upgrade to my Claude subscription--it looks like I'm on my own for the rest of the day! -
Vibe Coding with Delphi: When Artificial Intelligence Becomes Your Pair Programmer
Brandon Staggs replied to Brandon Staggs's topic in Tips / Blogs / Tutorials / Videos
I'm not sure what you mean exactly, but it's certainly true that these new tools will impact some more than others, depending on what they are doing and where they are in their career. In my case, people pay me not because I can type out code, but for the experience I already possess. The more quickly I can offload drudgework or automate tasks*, the more value I provide, and the more time I have to do other things. *And by this I don't just mean automating repetitive tasks, I mean being able to quickly automate just a single-time task in less time than it would take to do that task otherwise.
![Delphi-PRAXiS [en]](https://en.delphipraxis.net/uploads/monthly_2018_12/logo.png.be76d93fcd709295cb24de51900e5888.png)