Leaderboard
Popular Content
Showing content with the highest reputation since 06/03/25 in all areas
-
Callback on memory allocation error
Remy Lebeau replied to Vandrovnik's topic in RTL and Delphi Object Pascal
There is no callback in the Memory Manager. If it can't allocate memory, it will raise an exception. Period. If you to customize the behavior, you can provide your own allocation function using SetMemoryManager(), then your function can do whatever you want. But, know that there can be only 1 Memory Manager installed, so for instance if you want to use FastMM or other 3rd party Memory Manager along with your own, you will have to chain them together manually. --- UPDATE: actually there is a callback - the System.ErrorProc callback. If the Memory Manager fails to allocate, ErrorProc() will be called if assigned, specifying ErrorCode=reOutOfMemory. A default error handler is installed by the SysUtils unit, and it raises an EOutOfMemory exception. If no ErrorProc is assigned, the calling process is Halted instead. So, you could assign your own ErrorProc if you want to do something different, however by the time the Memory Manager calls ErrorProc(), it is too late to retry the allocation. If you provide your own allocation function using SetMemoryManager() instead, then you can do your own re-allocation attempt if you want to. -
ANN: JetPascal Sneak Preview and Early Bird Program
baoquan.zuo posted a topic in Delphi Third-Party
JetPascal is a new code assistant for Delphi developers. Our goal is to be a fast, reliable, and intelligent code assistant for Delphi developers, supporting both RAD Studio and Visual Studio Code. The product is still in early stages. The current Insiders version includes these navigation and search features (inspired by Visual Studio Code) for Delphi XE7-12.3. Go to File Go to Project Go to Line Go to Symbol in Editor Delphi Source File VCL/FMX Form Go to Symbol in Workspace Go to Definition Go to Type Definition Go to Base Symbols Go to Derived Symbols Go to Implementation Go to Containing Declaration Peek Definition A few demos: - Go to Symbol in Source Editor - Go to Symbol in Form Editor (Go to component, property, and event in form designer.) - Go to Implementation To see the more demos, the status, and the roadmap of the product, please visit JetPascal page. You can also try it by download the Insiders version. Early Bird Program We are offering special Early Bird Price—significantly below the upcoming standard rate—while we finalize key features. This offer applies to both Commercial and Personal subscriptions and is open to new users now. Note: Legacy CodeInsightPlus customers can request our standard renewal price throughout 2025. -
TeeBI free full sources released
david berneda replied to david berneda's topic in Delphi Third-Party
Python and R plugin units are now published: https://github.com/Steema/TeeBI/tree/master/deprecated/sources/algorithms License is MIT: https://github.com/Steema/TeeBI/blob/master/LICENSE -
It was a fast forward for us. There was many disruptions. For some electricity companies it was impossible to use it at beginning because it was incompatible with what our energy regulatory authority asked.
-
Hello, Please is it possible to have memory manager in Delphi 12.3 to call my routine when it is unable to allocate new block of memory? My routine would release some memory (cache of bitmaps) and memory manager should try again, without raising an exception. Or is there another way of creating a cache as big as possible, but without limiting "normal" operation of the application?
-
You need PEPPOL BIS UBL (XRechnung UBL from the lib above) with Norwegian customization, see: https://github.com/OxalisCommunity/oxalis/tree/master/oxalis-outbound/src/test/resources/EHFInvoice/2.0 and a validator like: https://anskaffelser.dev/service/validator/ (Interesting that there is a B2C implementation in NO, whereas in the EU it's only for B2B, as you can't pass the gross prices, only the net.)
-
The default behavior is the same since delphi 4, but since a few versions the optional "OldCreateOrder" property is ignored: https://docwiki.embarcadero.com/Libraries/Athens/en/System.Classes.TDataModule.OldCreateOrder
-
Try https://docwiki.embarcadero.com/Libraries/Athens/en/FMX.Styles.TStyleManager.SetStyleFromFile ON: TStyleManager.SetStyleFromFile(styleToUse); OFF: TStyleManager.SetStyleFromFile(nil);
-
Very important, if you use TForm.OnCreate events and plan to work with Delphi 10 and 12.3 in parallel for a while: They dropped the TForm.OldCreateOrder property. All previous Delphi versions set this value to False when a new form was created in the IDE. But if open an existing project in Delphi 12 and save a dfm file, the OldCreateOrder value will be removed. When you then open it in Delphi 10 OldCreateOrder will get assigned its default value, which is True. So by saving in Delphi 12 and then in Delphi 10 the OldCreateOrder value changes from False to True. Uwe Raabe blogged about the consequences this can have. On top of that you will likely have much "fun" with Windows per display scaling which is supported by Delphi 12.
-
Delphi 12.3 web install - I selected Android as well as Windows but did not install Android SDK NDK
Joker2350 replied to rudy999's topic in Delphi IDE and APIs
I can now compile Android without error. After trying numerous things (uninstalling and reinstalling the Android framework within Rad Studio, manually installing the Android SDK and NDK), it turned out to be a single line in the project DPROJ file that was causing the issue. The line was: <PlatformSDK Condition="'$(PlatformSDK)'=='' And '$(Platform)'=='Android64'">AndroidSDK34.0.4_64bit.sdk</PlatformSDK> I don't know were this line came from, or why it was there, but removing it fixed the issue. I hope that helps anyone else having this issue. -
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. -
Short version: I am now trying to manually uninstall Delphi 12, but I keep getting this message when I want to install Delphi 12 again: The installer will no let me proceed as the uninstaller fails (it does not exist). I have followed the guide written here: But something must be missing. Any suggestions what I can do to make the installer run again? Long version: 1) Installed Delphi 12 using the web installer (RADStudio_12_0_inline_esd_116924.exe). Installed platforms Windows, MacOS, iOS and Android. 2) Used the migration tool when suggested during installation, and chose the upgrade feature to migrate from existing Delphi 11.3 3) Running Delphi 12 for the first time, but with a lot of error messages. It tried to load all the Delphi 11.3 packages, which of course fails. 4) Removed all invalid packages manually so it now runs without errors. 5) Discovers that iOS and Android platforms are not shown, despite being installed. This is the general IDE options (without having loading a project): 6) Used the "Manage features" to uninstall iOS and install it again, but same problem. The manage features window shows that all is installed: 7) Uninstalling Delphi 12 from Windows 10 > Settings > Apps, but the uninstaller failed in a way. It showed a message "Uninstalling GetIt ... (this may take a while)", then opened a command prompt, but nothing happened in the command prompt and after 30 minutes I closed the command prompt and uninstall continued, and, as far as I remember, completed without any errors. 😎 Installing Delphi 12 again, but shortly after having selected all platforms and clicked continue, it failed. Unfortunately I did not get a screen shot of the error. 9) Now I began to manually remove all Delphi 12 files, so I could make a clean installation again, but here I am stuck as described in the beginning of this post. Something remains that is linked to Delphi 12, but not clearly identified as belonging to Delphi 12. I already have Delphi 10.4 and Delphi 11.3 on the computer, so I don't want to remove ALL Embarcadero related data. I suppose it all started because I used the Migration tool, which I have always done with success, but this time it messed everything up.
-
Delphi 12 installation has failed in all possible ways...
Hans♫ replied to Hans♫'s topic in General Help
Good to hear. It's of course a tradeoff. Using a VM requires extra time and so do running multiple Delphi version directly in your main Windows installation. My conclusion so far is that the latter works better for me, despite often having problems when a new Delphi version is released. -
They are retooling the C++ compiler chain. I get the impression that C++ is becoming more important - not less - even if it might seem like a 2 steps forward, one step back (for the moment). My gut feeling is the future has never been brighter for C++Builder.
-
I want to host a console in my Delphi application. Editors/IDEs like VS Code and IntelliJ IDEA have an embedded console. I want essentially achieve the same. For the moment it doesn't matter if it is the "old" console oder the new "windows terminal". I want to have a tab or panel in my application with a console that runs cmd or powershell. Trouble is, I don't know where to start. When I search I only find how to write Delphi console applications. Or I find information on how to read the console output of other programs (like with TurboPack DOSCommand).
-
Hosting a console in a Delphi Application
David Schwartz replied to omnibrain's topic in Windows API
See if this helps: https://www.dropbox.com/s/rbslh6vrzyxio43/RedCon.pas?dl=0 It's from D5 era, so it might need some touching-up. -
Hosting a console in a Delphi Application
David Heffernan replied to omnibrain's topic in Windows API
Read the code of an open source project that does this and work out what they do -
In the end, I had to abandon PUCU as the author never bothered to react to my bug reports. Instead, I tried to adapt the JEDI implementation: I removed all dependencies and fixed the worst bugs and performance issues. Finally, I ran the code against my unit tests. The result was a big disappointment; While it didn't crash like PUCU, it failed even more of the test cases. The test suite uses the 19,000 NFC (compose) and NFD (decompose) normalization test cases published by the Unicode consortium. So back to square one again. Comparing the algorithms used by the JEDI library against countless (I've looked at over a hundred) other Unicode libraries didn't reveal the cause. They all used the same algorithms. Blogs and articles that described the algorithm also matched what was being done. I was beginning to suspect that Unicode's own test cases were wrong, but then I finally got around to reading the actual Unicode specification where the rules and algorithms are described, and guess what - Apart from Unicode's own reference library and a few others, they're all doing it wrong. I have now implemented the normalization functions from scratch based on the Unicode v15 specs and all tests now pass. The functions can be found here, in case anyone needs them: https://gitlab.com/anders.bo.melander/pascaltype2/-/blob/master/Source/PascalType.Unicode.pas#L258 Note that while the functions implement both canonical (NFC/NFD) and compatible (NFKC/NFKD) normalization, only the canonical variants have been tested as they are the only ones I need.
-
Help installing TProcess on Delphi Sydney 10.4
Lajos Juhász replied to UtopicLabs's topic in General Help
The repository doesn't contains the files to install the component. You can use it from code (hint there are demo projects to show how you can use it). -
JFYI - VSCode seems using this project, maybe you find something useful in there
-
Alas, "Omnia orta cadunt"
-
Hello The component is sent with dcu files, not with source code
-
The future is bright as its never been so poor i.e. you can only go so low, well in this cycle. You can target Windows both 32 bit and 64 bit in C++ but based on the speed of light performance for integrating tomo ide features and updating tool chains we are MANY light years away from improvements.
-
upgrade How long does it take to update Delphi 11?
programmerdelphi2k replied to Mr. E's topic in General Help
Let's enumerate... Embarcadero servers decongested = OK Mega-fast user internet (ultra-broadband) = OK User's computer latest generation and mega-fast = OK No software to disturb the download = OK user using a VM with many gigabytes of RAM and disk (+100GB) = oh oh oh will it? ... let's wait and see.... until the end, cross your fingers and hope that no problems with the connection to Embarcadero, or even, no internal errors during the installation!!! NOTE: download ISO (+6gb) in order not to get bored! -
To shave off costs they had to pass housekeeping of official forum to volunteers. Also a product without good community will not be very popular and merchantable therefore.