Delphi is still in Top 20
Delphi is still in Top 20… but barely.
Delphi
Today I needed a function that will wrap a string (a contiguous block of characters with no spaces) after 80 characters. Not only that I have found SysUtils.WrapText unsuitable (it can only wrap text IF the text contains spaces) but it is also terrible slow. So I build my own function: function WrapString(CONST s: string;
TStringBuilder – Optimizing Delphi’s strings for speed Read More »
After spending 2 full hours I managed to find the culprit for an IDE crash (access violation in VCL210). The cause was …drum roll please… CnPack! There was a palette in IDE’s main tool bar called MSDN Help. However, when I right click to configure the toolbar, the palette was not listed there to show
Delphi XE7 IDE crash due to CnPAck MSDN Help Integrated Read More »
Today I tried to open an old project. While loading the main DFM form I got a “No mapping for the Unicode character exists in the target multi-byte code page” error. After some time I figured out what caused it: the form had a custom control that had a property like this: HeaderCellSpacing = 1.300000000000000000.
No mapping for the Unicode character exists in the target multi-byte code page Read More »
So, Delphi’s help doesn’t tell us much about how to set up paths for DPK packages. It is ok. So, I will tell you how I do it so they work both on 32 and 64 Win platforms: My packages I have these major packages/folders: Graphics32 Drag and Drop (Melander) 3rd Party (many small packages
I keep getting this error at Delphi shut down: Application Error – Exception EAccessViolation in module rtl210.bpl at 00016A9C. Access violation at address 50066A9C in module ‘rtl210.bpl’. Read of address 06152AF8. Solution 1: The problem is fixed by restoring this registry key to its original state: [HKEY_CURRENT_USERSoftwareEmbarcaderoBDS15.0Known IDE Packages] Here is the pristine value for
Fix for Exception EAccessViolation in module rtl210.bpl at 00016A9C [SOLVED] Read More »
I keep getting an “Access violation at address 1204F872 in module ‘bindcomp210.bpl’. Read of address 1423C764” message during Delphi startup. After poking around I have found the solution: delete the “Project” and/or “SaveFileDirectory” keys in [HKEY_CURRENT_USERSoftwareEmbarcaderoBDS15.0Session] 02.2015
Delphi: Access violation in module ‘bindcomp210.bpl’ Read More »
How to solve the “Cannot load a form that has itself as ancestor” error in Delphi This is how a new/empty project should look like: uses Forms, Unit1 in ‘Unit1.pas’ {Form1}; {$R *.res} And this how the project was: uses Forms, Unit1 in ‘Unit1.pas’ {Form} {$R *.res}; I spent on hour to find the well
Solve the “Cannot load a form that has itself as ancestor” error in Delphi Read More »
Here is a 3rd party text property editor for Delphi XE/Delphi XE2/Delphi XE3 that is way much better than the default one. It can help you to edit text and TCaption fields.Features: It allows you to enter multi-line strings via the object inspector. Such strings can only be assigned at run-time. Allows you to enter
Delphi generates a series of annoying and useless files such as *.~bpl, *.identcache and *.local. They are totally safe to delete. Few people know that Delphi Distiller is capable to disable the generation of these files. This is because the panel from where you do this is hidden under an obscure menu called ‘Extras’. Just
How to prevent Delphi from generating ~bpl, identcache and local files Read More »
The problem My Delphi XE started to act strange lately. I have unit Unit2.pas that uses ‘FormatBytes’ declared in Unit1.pas. When I try to compile Unit2 Delphi says that it cannot find FormatBytes. But FormatBytes is there, in Unit1 !!Unit1 belongs to Package1 and Unit2 to Package2 (Package2 depends on Package1).Even more strange: if
Probably you already know that Windows 32 bits will use only (about) 3 GB of RAM even if you have more than that installed in your computer. PAE (Physical Address Extension) allows you to enable your computer to use up to 4GB of RAM. So, all your have to do is to enable PAE on
Using 4GB on 32 bits Windows systems (for noobs) Read More »
FastMM does wonders because it catches ALL memory leaks in your program and in most cases also detects memory corruption and access on objects that have been already freed.In the DPR file of your projects do this: program MyProject; uses FastMM4, <——— FastMM ALWAYS on the first line Forms,
“How to use FastMM 4” explained in exactly 150 words Read More »
There is a nice registry hack that allows you to execute a specific application when you try to execute actually a different application. For example if you try to run notepad.exe, the calc.exe will be launched instead. Details: The key you create in HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Options must have the name of the application
Collection of links: Delphi doesn’t like multi-core CPUs (or the contrary) Fastest CRC calculation PDF Engine
Application developed under Delphi 7 are 32 bit, and they can only access a limited amount of RAM. This Microsoft document says that the limit is 2GB. So I have made some tests and indeed I could not allocate more than 2GB of RAM. However, The document also says that 32bit applications could access up
What they charge? Are you new to online software selling? How much do you think you will make when you sell a copy of your software that worth $100? $99? Wrong! $95? Wrong! $90? Wrong! $80? Wrong! $50? Wrong! $40? Still wrong! Let’s take example of a $100 order placed via PO by your customer.
Each test ran 4-5 times. The application priority was set to High in Task Manager. ————- Start point: No optimization: 2.28 sec ————- Test 1: With FastMM4 enabled: 2.23 sec With FastMM4 enabled and RtlVclOptimize: 2.18 sec With FastMM4 enabled and VCLFixPack: 2.10 sec With FastMM4 enabled and FastCode: 2.09 sec All (FastMM4 and RtlVclOptimize
Recently I wanted to test some things and I wanted to comment some of the units used in my project, in the DRP file. Unfortunately, I forgot to close the comment (close bracket}) so I commented too much code in that DPR. As soon as I compiled the project I got an access violation in
Delphi compiler crash because of faulty DPR code Read More »
Today I recompiled and run a program. FastMM started to report all kind of strange memory leaks but it was unable to locate the source of the error (unknown address). After a while I tried disabling FastMM and recompiling the program. The program was recompiled but it had no icon. Solution: After a long trial
Strange Delphi behavior/No icon in compiled program Read More »
I got recently a nasty “tpopupmenu not found” error while trying to load an old DPK file. I finally figure out that the error was in the DOF file associated with the project. I just deleted the “c:program filesborlanddelphi7Bindclact70.bpl=Borland ActionBar Components” line from [Excluded Packages] section and it worked.
“Tpopupmenu not found” error in Delphi while loading a DPK file. Read More »