Delphi

Delphi

TStringBuilder – Optimizing Delphi’s strings for speed

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 »

Delphi XE7 IDE crash due to CnPAck MSDN Help Integrated

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 »

No mapping for the Unicode character exists in the target multi-byte code page

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 »

How to set paths (library, debug, BPL, DCP, search) in Delphi XE7 (for multiplatform use)

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

How to set paths (library, debug, BPL, DCP, search) in Delphi XE7 (for multiplatform use) Read More »

Fix for Exception EAccessViolation in module rtl210.bpl at 00016A9C [SOLVED]

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 »

Delphi: Access violation in module ‘bindcomp210.bpl’

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 »

Solve the “Cannot load a form that has itself as ancestor” error in Delphi

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 »

How to prevent Delphi from generating ~bpl, identcache and local files

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 »

Caching issues with Delphi packages

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

Caching issues with Delphi packages Read More »

Hacking – Overtaking applications

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

Hacking – Overtaking applications Read More »

“Tpopupmenu not found” error in Delphi while loading a DPK file.

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 »

Scroll to Top