Leaderboard
Popular Content
Showing content with the highest reputation on 03/17/25 in Posts
-
v6.4.0 Beta 1 We are pleased to announce one of the biggest updates of Ski4Delphi! For the first time in Delphi's history, we have a C++ library statically linked to a Delphi application on Windows, removing the dependency on sk4d.dll. In addition, we have updated the Skia library from version m107 to version m132. After a long research and experiments, we were able to understand the "limitations" of the Delphi linker and build a pre-linker for C++ libraries that would get around these limitations, producing objects that are fully compatible with Delphi, which could be used to statically link not only Google Skia, but any C++ project in Delphi on Windows. Source: github.com/skia4delphi/llvm-project This is still a beta version, but all our tests have passed and there are no known issues regarding the new changes. Enjoy! 🙂
-
What does [ref] attribute actually dows
Cristian Peța replied to Tommi Prami's topic in RTL and Delphi Object Pascal
With const, if the variable is small enough to pass into a register, it will not be passed always as reference. You need to use [ref] to be sure it is passed as reference. This is the reason to use [ref] for FreeAndNil. -
What does [ref] attribute actually dows
Stefan Glienke replied to Tommi Prami's topic in RTL and Delphi Object Pascal
It is briefly explained under Constant Parameters - it enforces the parameter to be passed as a reference. -
GExperts now fixes yet another annoyance in the Delphi IDE: Desktops
dummzeuch replied to dummzeuch's topic in GExperts
Edit: Fixed the problem with the full screen window in revision #4468. -
Can you please elaborate this? Maybe a short article on this topic. P.S. I've noticed that there have been several interesting Delphi projects from Brazilian developers lately. Skia for Delphi, D2Bridge Framework are the most notable.
-
Yes, but the new 64-bit compiler is about compiler bitness, not platform. That means that compiler is no longer 32-bit process and can use all available memory on the system.
-
The only exception if you are working with databases that now ship only 64 bit client libraries. Most, if not all, of the modern databases has discontinued the 32 bit client libraries.
-
So you didn't, and therefore you don't know what they stated about the 64bit IDE, yet you complain..... They specifically stated that you should use the 32bit IDE and play with the 64 bit. Just like everyone who complains they don't test the IDE enough, they are giving us the chance to catch more issues now so when they actually release it, those issues aren't there.
-
I don't know that it "doesn't work." But I presume they are doing their best to get to a robust release of the 64-bit IDE as soon as they think they can given their resources. Rolling it out as they are along with a point release seems like an understandable way to get there with more testing and feedback. Shrug. It is "pretty lame" that Delphi is not getting the development and enhancement that it needs, but I don't know that there is any reality-bending that could happen to change that. It's been gone over before. It's a proprietary legacy system and it's clear that their resources are limited.
-
No, OpenSSL is widely used with threaded programs, provided those programs are written correctly. Angus
-
What does [ref] attribute actually dows
HeartWare replied to Tommi Prami's topic in RTL and Delphi Object Pascal
CONST [ref] is on the surface the same as VAR but it allows a CLASS variable of a descendant to be passed. So where a VAR TObject only allows variables declared as TObject, a CONST [ref] TObject parameter passes a reference (like VAR does) to the instance pointer, but allows all descendants of TObject to be passed in. This eliminates the issue with a typeless VAR to FreeAndNIL also accepting non-classes. -
What does [ref] attribute actually dows
Hans♫ replied to Tommi Prami's topic in RTL and Delphi Object Pascal
Ha, ha, I am sure you know what I mean 😉 I'm no expert in the compilers memory management and optimization. I was trying to explain why it made no difference to add [ref]. I guess that if you create a "packed" record that is smaller than a pointer then it will be passed by value. -
What does [ref] attribute actually dows
havrlisan replied to Tommi Prami's topic in RTL and Delphi Object Pascal
Dalija Prašnikar has a great article on what it's purpose is in FreeAndNil: https://dalijap.blogspot.com/2020/06/magic-behind-freeandnil.html -
Hello, if you haven't noticed yet: with 12.3 Embarcadero also released a new additional tool for subscription owners via GetIt package manager (Tools/GetIt package manager). It is called "The Android SDK manager GUI" and can be used to update Android SDK/NDK etc. in a graphical way. It is a replacement for the graphical SDK manager the Android SDK once contained, which cot replaced by a cumbersome batch file (yes, the batch file is good for automation, but otherwise cumbersome). The SDK manager GUI can also export the selected configuration and import it on another PC, great for easy synchronisation of development machines. What the tool doesn't do is to update the paths in the IDE and it is unfortunately not added to the menu in the IDE.
-
I wouldn't mind if they just released it as a technology preview (which is what it is) - on the side. But then what is this release exactly? Sure there are a bunch of bug fixes but have we been paying maintenance all this time to just get a major release (and this is a major release regardless of their silly numbering scheme game) with nothing but fixes for bugs that we already worked around long ago? Will we have to wait another year for something substantial? Two years? Maybe the roadmap can tell us - oh, wait; There's no roadmap, because stupid excuses that nobody ever believed anyway. I asked my manager today if we shouldn't just cancel our Delphi maintenance and gamble on nothing of substance being released the next 3 years (which is the break-even point). The last time we did this (XE3-XE8) we saved a bunch and didn't miss a thing.
-
Well sure. But isn't this pretty lame? Who does version 1 releases that don't work? They might be upfront about all of its deficiencies, but good developers produce software that works. We've all used VS and VSCode and PyCharm and so on, and they work and shine. And then 12 months passes, it's 2025, and Emba come out with 5000 bug fixes and a 64 bit IDE that doesn't work.
-
It seems that Embarcadero are encouraging C++ (new tool chain) users to save source code as UTF-8 with BOM. Can anyone find an option in the IDE set up to force files to be saved in this format ?
-
"that's it" meaning "implicitly include the 347 other units it depends on".
-
Prepare for three years of them fixing the new 64 bit IDE
-
Please see these earlier posts on SynEdit history: SynEdit preferred version? - Delphi Third-Party - Delphi-PRAXiS [en] (delphipraxis.net) Turbo SynEdit & Font Ligatures - VCL - Delphi-PRAXiS [en] (delphipraxis.net) DirectWrite and Unicode support One of the major flaws of SynEdit was the poor handling of Unicode. A major update has been committed to the TurboPack fork, that employs DirectWrite for text painting and fixes Unicode support. SynEdit should now be on a par with, if not better than, the best editors around with respect to Unicode handling. For example: Chinese is properly spaced and surrogate pairs and color emojis are fully supported: Bidirectional text editing is fully supported as well: WordWrap has been re-written and is now based on DirectWrite as well. This last update also includes other enhancements as for example an option to alpha blend the selection, another option for selection to cover just selected text instead of full lines, as in VS code and other editors, and horizontal mouse wheel scrolling: Other recent improvements: The undo/redo system was buggy and a mess, getting in the way of implementing new features. I has been reimplemented from scratch. The gutter has been reimplemented from scratch and is now flexible and extensible. A track changes bar like in Visual Studio has been added and unlike Delphi's it saves and restores line state correctly on undo/redo. The code base has been refactored cleaned-up, and partially documented, yet, and despite of the new features, it is thousands of lines shorter than the original. But a lot more can be done in this area. See here for the full list of enhancements in the the TurboPack fork. Backward compatibility Turbopack Synedit remains compatible with earlier versions of Synedit, but you do need to reinstall Synedit, load forms that use SynEdit ignoring error messages and save them again for the new properties to take effect. The use of DirectWrite though means that Windows XP is no longer supported. The TurboPack SynEdit fork supports Delphi versions Berlin or later. Future plans The next big planned feature is multi-selection and multi-cursor editing. Support the project Most of the bugs remaining in the issue tracker are C++Builder related. Also, the C++ packages have not been updated yet. We are actively seeking contributions on the C++Builder side of things (package updates, bug fixes). Of course you can also support the project by submitting bug reports and pull requests. Or, by implementing new features (e.g. minimap, Sync Edit like in Delphi, Delphi or VS-code like templates etc.) Note: Many thanks to @MarkShark for his great contributions to the SynEdit project.