Runtime error 217 at delphi windows 7

runtime error 217 at delphi windows 7

I have attempted to install Delphi XE on 2 different computers. Both computers are running Windows 7, 64 -bit. The installation seems to go OK. N. Runtime error 217. I am running delphi 4 with Sql server 6.5 on an NT network. When I click on my EXE I get this. You need to register on the new computer. Roelof Smelt wrote: > I have moved my Delphi XE Pro to a new computer with a fresh installation of Windows 7 (albeit.

Runtime error 217 at delphi windows 7 - excellent answer

How To Fix Runtime Error 217 Windows 10/8.1/8/7

Runtime errors usually occur when a particular program is invoked. These errors may happen for a variety of reasons depending on your computer. However, in this article I am going to cover a majority of the culprits for the Runtime error 217 in your computer.

11.png

Cause Of The Runtime Error 217

There are a number of explanations for this error, some of which are included below:
  • One of the major causes of this runtime error is usually the absence of a DLL file that has failed to install alongside an application. When a DLL program is incorrect or missing, it is almost certain to prompt a runtime error 217.
  • An outdated file titled Msvcrt.dll (an old Microsoft Visual C++ file) is out of use.
  • Incorrect regional settings can also cause a runtime error 217.
  • An outdated Stdole32.dll is also a common cause of the runtime error 217.
  • Viruses are not also left out.
  • Damaged or faulty registry entries can also prompt a runtime error 217.
To be able to get to the root of this problem and solve it, you would have to fix the underlying problems as outlined above – this is the only sure way of possibly fixing it.

How to Manually Fix A Runtime Error 217

1. Open Start menu(bottom left-hand corner), type msconfig.exe(System Configuration Utility) in a search box and hit ‘Enter’.
2. In order to access System Configuration Utility, you might be required to enter the administrator password. Enter it and click ‘Enter’ to proceed.
3. Open General taband select Selective startupoption.
4. Uncheck all ‘Load startup’items.
5. Open Service taband put a tick on ‘Hide all Microsoft services’check box.
6. Click on ‘Disable all’button (bottom right-hand corner).
7. Click ‘Ok’and restart your computer.

Update Windows To Fix Msvcrt.dll File

Sometimes, the msvcrt.dll file can get corrupted or damaged making it inaccessible to windows when it needs it to run a program. The Msvcrt.dll file is utilized by Windows to run a variety of programs, albeit it is usually outdated on many older Window Versions – prompting it to display a Runtime 217 error. Updating your windows is one of the most effective ways of updating this file. To update your windows click Start > Control Panel > Windows Update.

Correct The Regional Settings For Your PC

Equally, as earlier outlined, a wrong regional setting can also result in a runtime error 27. To fix your regional settings, follow these steps:
  • Click Start, select Control Panel.
  • Select Clock, Language and Region.
  • Then chose the specific setting that needs changing.
Download StDole32.TLB from the Internet

It’s very common that you’ll find that Stdole32.tlb is missing from the “System32” folder in your computer. If this is the case, you will be faced with a runtime 217 error, as this file is apparently used by numerous program on your computer. There is a fix to this issue, simply download the missing file and place it in your PC, follow the steps below:

Download stdole32.zip file to your PC
1. Unzip the file inside
2. Place the file in C:\Windows\System32
3. Test to see if your program will work again.


Searches related to Runtime Error 217
  • runtime error 217 autodata
  • runtime error 217 windows 10
  • runtime error 217 at 00580d29 autodata
  • runtime error 217 delphi
  • runtime error 217 00580d29
  • autodata 3.45 runtime error 217 at 00580d29
  • stdole32.zip download
  • runtime error 217 at 005283b1

 

fix runtime error 217 windows

If you are regular Windows 10/8.1/8/7 user and you have noticed “runtime error 217” on your PC, then be careful. It is important to know for you that why you are getting this error continuously in your System screen and what are the main reasons behind it.

Runtime error 217 windows may occur  due to malware attacks or installed application on un-supported System architecture and others. Don’t be panics, please read this article carefully. This article will give you complete details about “runtime error 217” as well as you will get some recommended solution to fix it.

Cause of runtime error 217 windows Operating System:

  • If you have installed an application incompletely on your machine that means some program are missing of such application, then it might possible to get runtime error 217 in your windows PCs.
  • Sometimes, this runtime error occurs due to wrong regional settings of your computer.
  • It might possible to get “runtime error 217 windows” on PCs when you are using outdated software in your machine.
  • You can get this error in your PCs if your System has infected from malware or spyware.
  • Sometimes, runtime error 217 occurs in your Windows PCs due hardware failure. It means that the recently added hardware to your computer is not working properly and display “runtime error 217” message on your machine.
  • It might possible to get “delphi runtime error 217 windows 10” while you try to start Delphi XE3 IDE (bds.exe) on your Windows PCs. In this case, you should try to re-install this Delphi XE3 IDE on PCs and check if problem is resolved.
  • When Windows registry setting has been corrupted, then it might possible to get runtime error 217 windows operating System.
  • When Msvcrt.dll file associated with Microsoft C++ is missing or corrupted, then this error code may appear.

Ways to fix runtime error 217 windows 10/8.1/8/7

Procedure 1: You need to apply “Disable all” option in System configuration

Step 1: Press “Windows + R” to open runs dialog box

Step 2: Type “msconfig” and then press enter key to open “System Configuration” dialog box

runtime error 217 windows

 

 

Step 3: Check the “Hide all Microsoft services” on “services” tab and then click on “Disable all” option

runtime error 217 windows

 

Step 4: Then click on “Apply” and “OK”

Step 5: After that, open task manager (Right click on Taskbar and then click on “Task manager”)

Step 6: Click on “Startup” tab

runtime error 217 windows

Step 7: Choose one-by-one and “disable” all

Step 8: follow the step 7 to close all the open Windows. After that, restarts your Windows PCs

Procedure 2: you need fix regional setting for your Windows PCs (Fix delphi runtime error 217 windows 10)

Step 1: Click on Start button and select “Control Panel”

runtime error 217 windows

Step 2: Now, select” Clock”, then select” language” and then select “Region” option

runtime error 217 windows

Note: select the specific setting that has to be changed.

Procedure 3: You need to download “StDole32.TLB”

Step 1: Download “StDole32.zip” file internet to your PCs

Step 2: Now, Unzip the file and place the file in “C:\Windows\System32” of your computer hard drives

Step 3: You need to check if you program will work again.

Conclusion

Runtime error 217 for windows Operating System is one of the most common errors that appear on your System screen due to some internal problems. I hope that this article helped you to detect how this error occurs in your Windows PCs as well as you have get some solution to fix it.

If you are unable to fix delphi runtime error 217 windows 10, then you should try to scan your Windows PCs with very powerful antimalware tool. Sometimes, this type of error occurs in your Windows Operating System due to Cyber attack or malware attack. It means that your System has infected from malware or Spyware. So, you should go for complete or full scan by using strong & legitimate anti malware software.

Is Your PC Behaving Abnormal & Needs Instant Optimzation?

We recommend you to choose Reimage PC Repair Suite which is dedicated to offer complete options to optimize a PC, fix any Windows error, and remove malware threats in easy. The software is award winning and suggested as the best malware fix application supporting all Windows versions including XP/Vista/7/8/8.1/10. Just 3 steps to avail error free PC.

  1. Download Reimage PC Repair and install on your PC. (Follow all on screen instructions when installer is executed)
  2. Click “Scan Your PC” button to scan all present issues, errors, junk files, and malware threats.
  3. Finally, click “Start Repair” to fix all detected problems in next few minutes.

How to Fix Runtime Error 217 in Windows 10 and Windows 11

Users have talked about Runtime error 217 on Microsoft’s Windows support forum. That error message pops up on some users’ desktops and laptops whenever they try to launch certain programs.

As a result, users can’t launch and utilize Windows software packages for which they see error 217 messages. Try applying these potential resolutions if you’re another user who needs to fix error 217.

1. Run the System File Checker Utility

System file corruption is a probable cause for error 217. Therefore, running Windows’ built-in system file and image repair tools could get this issue fixed for some. Run system image and file scans in the Command Prompt like this:

  1. Press Windows key + X, and select the Search shortcut.
  2. Type CMD in the search box and select the Command Prompt app’s Run as administrator option from there.
  3. Firstly, input this system image repair command and hit the Enter button:
  4. When the system image command has completed the process, input this text and press Return:
  5. Now, wait for the SFC scan you started to finish and display the outcome message.

2. Repair the Visual C++ 2015-2019 Redistributable

Error 217 can occur because of issues with the Visual C++ 2015-2019 Redistributable. That Redistributable package could be corrupted or missing. This is how you can repair the Visual C++ 2015-2019 Redistributable via the Programs and Features Control Panel applet:

  1. Open the Windows Run dialog box.
  2. Bring up the Programs and Features applet by typing appwiz.cpl in Run and clicking OK.
  3. Select the Visual C++ 2015-2019 Redistributable package. If you can only find a Visual C++ 2015-2022 Redistributable, select that package.
  4. Click the Change option for the selected package.
  5. Press Repair to fix Visual C++.

3. Select a Repair Option for Affected Software

You can select a similar Repair option to the one Visual C++ packages have in Programs and Features for some third-party software. If the software package you need to fix error 217 has a Repair button in Programs and Features, select that option.

To do so, open the Windows uninstaller as outlined in the second method above, select the affected software, and click either a Repair or Change button for it.

4. Reinstall Software for Which Runtime Error 217 Occurs

The software you need to fix error 217 for might not be properly or fully installed. If that’s the case, reinstalling the affected software is a viable solution. You can uninstall and then reinstall affected programs via the Control Panel like this:

  1. Open Programs and Features as covered within the first two steps of the second solution above.
  2. Select the software you need to fix Runtime error 217 for.
  3. Then click the Uninstall option for the selected software.
  4. Select Yes on any prompts that ask you to confirm software removal.
  5. Reboot Windows after you’ve removed the software.
  6. Open the publisher’s download page for your uninstall software. Then download the latest software version from that page.
  7. Reinstall your Windows software with its setup wizard.

5. Select the Reset PC Option

Resetting your PC to a default configuration can be considered the nuclear option for fixing Runtime error 217. This is a nuclear fix because it will wipe out all the third-party software you installed. However, you can at least select to save your user files in the Reset this PC tool.

This should be your last option to fix the Runtime error 217 because it requires you to factory reset your Windows computer.

Other Potential Fixes for Runtime Error 217

You also fix other Runtime errors if it occurs alongside Runtime error 217. The errors could be connected; thus, if you fix one, you're fixing the other. Of any potential fix, we especially recommend you try clean-booting Windows to address program conflicts.

Kick-Start Software With Those Runtime Error 217 Fixes

So, that’s how you can kick-start an app whenever Runtime error 217 strikes it down. You shouldn’t need any third-party repair software to resolve Runtime error 217. Applying the potential resolutions above with Windows' built-in system tools will likely fix this runtime error on most users’ PCs.

Windows 10 Creators Update changes to DLL loading affects Delphi applications that use runtime packages. Here is in update on the problems and possible solutions.

Since Windows 10 Creators Update was released two months ago, we have started seeing reports of issues with runtime package (for example, https://quality.embarcadero.com/browse/RSP-17972, where myself, Embarcadero support and R&D have chimed in), mostly while debugging applications. The issue is affecting applications that use runtime packages (BPL), not applications compiled as a single executable. In general terms, the problem affects all applications that use runtime packages, built with any version of Delphi (recent, old, or even the early ones). In most cases, the slowdown for end user application is relatively limited, however applications with runtime packages on network shares are affected. But what is happening?

The Core Issue: Optimized DLL Loading

Let's start with some background information. On the Windows operating system, dynamic linking (DLLs) support both load-time binding and full runtime binding (LoadLibrary). In both cases, when the DLL is generated it is has a table of entry points (export table). Any other library or executable referring to it has an import table referring to functions of that export table. Since the early days, when the Delphi compiler (and linker) generate a DLL or package library (BPL) by assembling multiple units in a single binary file, and do so by making functions and methods available by creating multiple sections in the export/import table. This was likely a minor linker optimization, and never had a real side effect.

Fast forward to Windows 10 Creators Update. Microsoft decided to rewrite the DLL loading code to make it parallel (different threads can load different libraries in parallel) to optimize applications loading. However this change has ended up affecting the loading of libraries with multiple sections in the export tables. Empirically, it looks like a BPL is loaded once for each segment. Now consider that most of the core Delphi BPL (rtl, vcl, fmx) have dozens and dozens of sections, and the result is libraries are loaded (and unloaded) dozens and dozens of times.

Here is a screenshot of the effect in the Event log (this is a single form FMX application):

While in this simple application on my machine it takes a couple of extra seconds, with larger applications having many runtime packages the effect on the debugger can be fairly extreme. Here is the full debugger log, with operations on packages (and other notable ones) marked in bold:

Thread Start: Thread ID: 12052. Process Project13.exe (13088) Process Start: C:\Users\marco\Documents\Embarcadero\Studio\Projects\Win32\Debug\Project13.exe. Base Address: $00400000. Process Project13.exe (13088) Module Load: Project13.exe. Has Debug Info. Base Address: $00400000. Process Project13.exe (13088) Module Load: ntdll.dll. No Debug Info. Base Address: $76F40000. Process Project13.exe (13088) Module Load: KERNEL32.dll. No Debug Info. Base Address: $74520000. Process Project13.exe (13088) Module Unload: KERNEL32.dll. Process Project13.exe (13088) Module Load: KERNEL32.dll. No Debug Info. Base Address: $74520000. Process Project13.exe (13088) Module Load: KERNELBASE.dll. No Debug Info. Base Address: $73B80000. Process Project13.exe (13088) Thread Start: Thread ID: 14596. Process Project13.exe (13088) Thread Start: Thread ID: 2688. Process Project13.exe (13088) Thread Start: Thread ID: 2076. Process Project13.exe (13088) Module Load: rtl250.bpl. Has Debug Info. Base Address: $50050000. Process Project13.exe (13088) Module Load: rtl250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: rtl250.bpl. Has Debug Info. Base Address: $01740000. Process Project13.exe (13088) Module Load: rtl250.bpl. Has Debug Info. Base Address: $02170000. Process Project13.exe (13088) Module Unload: rtl250.bpl. Process Project13.exe (13088) Module Unload: rtl250.bpl. Process Project13.exe (13088) Module Unload: rtl250.bpl. Process Project13.exe (13088) Module Load: OLEAUT32.dll. No Debug Info. Base Address: $74980000. Process Project13.exe (13088) Module Load: msvcp_win.dll. No Debug Info. Base Address: $76130000. Process Project13.exe (13088) Module Load: ucrtbase.dll. No Debug Info. Base Address: $743A0000. Process Project13.exe (13088) Module Load: combase.dll. No Debug Info. Base Address: $75EA0000. Process Project13.exe (13088) Module Load: RPCRT4.dll. No Debug Info. Base Address: $73A30000. Process Project13.exe (13088) Module Load: SspiCli.dll. No Debug Info. Base Address: $73A10000. Process Project13.exe (13088) Module Load: CRYPTBASE.dll. No Debug Info. Base Address: $73A00000. Process Project13.exe (13088) Module Load: bcryptPrimitives.dll. No Debug Info. Base Address: $76810000. Process Project13.exe (13088) Module Load: SECHOST.dll. No Debug Info. Base Address: $763A0000. Process Project13.exe (13088) Module Load: ADVAPI32.dll. No Debug Info. Base Address: $73AF0000. Process Project13.exe (13088) Module Load: msvcrt.dll. No Debug Info. Base Address: $75DE0000. Process Project13.exe (13088) Module Load: USER32.dll. No Debug Info. Base Address: $76870000. Process Project13.exe (13088) Module Load: win32u.dll. No Debug Info. Base Address: $74A20000. Process Project13.exe (13088) Module Load: GDI32.dll. No Debug Info. Base Address: $74A50000. Process Project13.exe (13088) Module Load: gdi32full.dll. No Debug Info. Base Address: $74640000. Process Project13.exe (13088) Module Load: imagehlp.dll. No Debug Info. Base Address: $74060000. Process Project13.exe (13088) Module Load: SHLWAPI.dll. No Debug Info. Base Address: $745F0000. Process Project13.exe (13088) Module Load: ole32.dll. No Debug Info. Base Address: $74080000. Process Project13.exe (13088) Module Load: WS2_32.dll. No Debug Info. Base Address: $73E20000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $031A0000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $031A0000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $031A0000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $031A0000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088)Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: VERSION.dll. No Debug Info. Base Address: $73990000. Process Project13.exe (13088) Module Load: NETAPI32.dll. No Debug Info. Base Address: $712F0000. Process Project13.exe (13088) Module Load: MPR.dll. No Debug Info. Base Address: $72BB0000. Process Project13.exe (13088) Module Load: SHFOLDER.dll. No Debug Info. Base Address: $737E0000. Process Project13.exe (13088) Module Load: SHELL32.dll. No Debug Info. Base Address: $74A80000. Process Project13.exe (13088) Module Load: WINHTTP.dll. No Debug Info. Base Address: $72B00000. Process Project13.exe (13088) Module Load: WSOCK32.dll. No Debug Info. Base Address: $72A00000. Process Project13.exe (13088) Module Load: OLEACC.dll. No Debug Info. Base Address: $6F3D0000. Process Project13.exe (13088) Module Load: CFGMGR32.dll. No Debug Info. Base Address: $73D50000. Process Project13.exe (13088) Module Load: OPENGL32.dll. No Debug Info. Base Address: $6F2F0000. Process Project13.exe (13088) Module Load: SHCORE.dll. No Debug Info. Base Address: $73D90000. Process Project13.exe (13088) Module Load: GLU32.dll. No Debug Info. Base Address: $70C90000. Process Project13.exe (13088) Module Load: netutils.dll. No Debug Info. Base Address: $71C70000. Process Project13.exe (13088) Module Load: Windows.Storage.dll. No Debug Info. Base Address: $769B0000. Process Project13.exe (13088) Module Load: AppCore.dll. No Debug Info. Base Address: $73B70000. Process Project13.exe (13088) Module Load: POWRPROF.dll. No Debug Info. Base Address: $760E0000. Process Project13.exe (13088) Module Load: profapi.dll. No Debug Info. Base Address: $74970000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: COMDLG32.dll. No Debug Info. Base Address: $742A0000. Process Project13.exe (13088) Module Load: COMCTL32.dll. No Debug Info. Base Address: $6F510000. Process Project13.exe (13088) Module Load: urlmon.dll. No Debug Info. Base Address: $6CE50000. Process Project13.exe (13088) Module Load: WINMM.dll. No Debug Info. Base Address: $72F20000. Process Project13.exe (13088) Module Load: d3d9.dll. No Debug Info. Base Address: $68C10000. Process Project13.exe (13088) Module Load: WINSPOOL.DRV. No Debug Info. Base Address: $6F280000. Process Project13.exe (13088) Module Load: iertutil.dll. No Debug Info. Base Address: $6CC30000. Process Project13.exe (13088) Module Load: WINMMBASE.dll. No Debug Info. Base Address: $72A10000. Process Project13.exe (13088) Module Load: WINMMBASE.dll. No Debug Info. Base Address: $001D0000. Process Project13.exe (13088) Module Unload: WINMMBASE.dll. Process Project13.exe (13088) Module Load: WINMMBASE.dll. No Debug Info. Base Address: $001D0000. Process Project13.exe (13088) Module Unload: WINMMBASE.dll. Process Project13.exe (13088) Module Load: dwmapi.dll. No Debug Info. Base Address: $6C320000. Process Project13.exe (13088) Module Load: bcrypt.dll. No Debug Info. Base Address: $729E0000. Process Project13.exe (13088) Module Load: IMM32.dll. No Debug Info. Base Address: $76370000. Process Project13.exe (13088) Module Load: UxTheme.dll. No Debug Info. Base Address: $6C2A0000. Process Project13.exe (13088) Module Load: MSCTF.dll. No Debug Info. Base Address: $761C0000. Process Project13.exe (13088) Module Load: gdiplus.dll. No Debug Info. Base Address: $6BFA0000. Process Project13.exe (13088) Thread Start: Thread ID: 2908. Process Project13.exe (13088) Module Load: TextInputFramework.dll. No Debug Info. Base Address: $6F1E0000. Process Project13.exe (13088) Module Load: CoreMessaging.dll. No Debug Info. Base Address: $6C8A0000. Process Project13.exe (13088) Module Load: CoreUIComponents.dll. No Debug Info. Base Address: $6C930000. Process Project13.exe (13088) Module Load: NTMARTA.dll. No Debug Info. Base Address: $71F60000. Process Project13.exe (13088) Module Load: WinTypes.dll. No Debug Info. Base Address: $70CF0000. Process Project13.exe (13088) Module Load: USERMGRCLI.dll. No Debug Info. Base Address: $70C00000. Process Project13.exe (13088) Thread Start: Thread ID: 14704. Process Project13.exe (13088) Thread Start: Thread ID: 11932. Process Project13.exe (13088) Thread Start: Thread ID: 12476. Process Project13.exe (13088) Module Load: CLBCatQ.DLL. No Debug Info. Base Address: $74210000. Process Project13.exe (13088) Module Load: DataExchange.dll. No Debug Info. Base Address: $5B340000. Process Project13.exe (13088) Module Load: d3d11.dll. No Debug Info. Base Address: $625F0000. Process Project13.exe (13088) Module Load: dcomp.dll. No Debug Info. Base Address: $5B250000. Process Project13.exe (13088) Module Load: dxgi.dll. No Debug Info. Base Address: $62850000. Process Project13.exe (13088) Module Load: twinapi.appcore.dll. No Debug Info. Base Address: $6F790000. Process Project13.exe (13088) Module Load: d3d10_1.dll. No Debug Info. Base Address: $6B4A0000. Process Project13.exe (13088) Module Load: d3d10_1core.dll. No Debug Info. Base Address: $69450000. Process Project13.exe (13088) Module Unload: d3d10_1core.dll. Process Project13.exe (13088) Module Unload: d3d10_1.dll. Process Project13.exe (13088) Module Load: d3d10_1.dll. No Debug Info. Base Address: $6B4A0000. Process Project13.exe (13088) Module Load: d3d10_1core.dll. No Debug Info. Base Address: $69450000. Process Project13.exe (13088) Module Load: ResourcePolicyClient.dll. No Debug Info. Base Address: $6D230000. Process Project13.exe (13088) Module Unload: ResourcePolicyClient.dll. Process Project13.exe (13088) Module Load: igd10iumd32.dll. No Debug Info. Base Address: $5C3A0000. Process Project13.exe (13088) Module Load: ncrypt.dll. No Debug Info. Base Address: $6B860000. Process Project13.exe (13088) Module Load: NTASN1.dll. No Debug Info. Base Address: $6B830000. Process Project13.exe (13088) Module Load: igdusc32.dll. No Debug Info. Base Address: $5ECD0000. Process Project13.exe (13088) Module Unload: igdusc32.dll. Process Project13.exe (13088) Module Unload: NTASN1.dll. Process Project13.exe (13088) Module Unload: ncrypt.dll. Process Project13.exe (13088) Module Unload: igd10iumd32.dll. Process Project13.exe (13088) Module Load: igd10iumd32.dll. No Debug Info. Base Address: $5C3A0000. Process Project13.exe (13088) Module Load: ncrypt.dll. No Debug Info. Base Address: $6B860000. Process Project13.exe (13088) Module Load: NTASN1.dll. No Debug Info. Base Address: $6B830000. Process Project13.exe (13088) Module Load: igdusc32.dll. No Debug Info. Base Address: $5ECD0000. Process Project13.exe (13088) Module Load: d2d1.dll. No Debug Info. Base Address: $51D40000. Process Project13.exe (13088) Module Load: CRYPT32.dll. No Debug Info. Base Address: $73EE0000. Process Project13.exe (13088) Module Load: MSASN1.dll. No Debug Info. Base Address: $74390000. Process Project13.exe (13088) Module Load: DWrite.dll. No Debug Info. Base Address: $51AF0000. Process Project13.exe (13088) Module Load: WindowsCodecs.dll. No Debug Info. Base Address: $699C0000. Process Project13.exe (13088)

Notice, again, this is not specific to Delphi 10.2 Tokyo or Delphi 10.1 Berlin, but the same applies to the XE series and even classic versions of the product. The issue is caused by a change at the operating system level.

If you are a developer using RAD Studio, we recommend holding off moving to Windows 10 Creators Update on your developer machines, but this is clearly not a solution, also also prevents you from experimenting with the latest version of Windows.

First Solution: Embarcadero to Fix the Linker

Given the issue is how runtime packages are managed by the operating system, the ultimate solutions can come only from two player: Embarcadero or Microsoft. In fact, it is coming from both sides.

On the Embarcadero side, our R&D team has worked on changing the linker in 10.2 Tokyo, so that it produces a single import table with all required entries. The problem is if we just release a new linker, all existing package libraries will still misbehave. So we need to update a fairly large portion of the product, something more commonly done in an Update (or new Release) than via a hot fix. This is by no mean a final decision and R&D and PM are weighing in the alternatives. Now, what about older version of Delphi? Given the effect on packages (from us and third parties) all requiring to be recompiled, this is a fairly difficult scenario to address for past versions of RAD Studio.

Second Solution: Microsoft to Fix the Loader

The second solution would be to Microsoft to address the issue wih the loaded, keep the optimized parallel loading but taking into account the scenario of Delphi packages (which, in fact, happens also with a handful of platform libraries, even if to a more limited extent). Now, we are very happy to share the fact that we have engaged with Microsoft on the issue and they have been very fast to tackle it. The latest 16215 "Insider Build" of Windows 10 Fall Creators Update (https://blogs.windows.com/windowsexperience/2017/06/08/announcing-windows-10-insider-preview-build-16215-pc-build-15222-mobile) addresses the issue. As you can see, using the RTM version of 10.2 Tokyo the FMX library is loaded twice. Still not exactly as it used to work, but not really causing any actual problem:

This is the complete event log as you start debugging a Windows FireMonkey application with runtime packages on build 16215. Lines related with Delphi packages are in bold:

Thread Start: Thread ID: 208. Process Project3.exe (6184) Process Start: C:\Users\Marco\Documents\Embarcadero\Studio\Projects\Win32\Debug\Project3.exe. Base Address: $00400000. Process Project3.exe (6184) Module Load: Project3.exe. Has Debug Info. Base Address: $00400000. Process Project3.exe (6184) Module Load: ntdll.dll. No Debug Info. Base Address: $76FA0000. Process Project3.exe (6184) Module Load: KERNEL32.dll. No Debug Info. Base Address: $74360000. Process Project3.exe (6184) Module Unload: KERNEL32.dll. Process Project3.exe (6184) Module Load: KERNEL32.dll. No Debug Info. Base Address: $74360000. Process Project3.exe (6184) Module Load: KERNELBASE.dll. No Debug Info. Base Address: $76DD0000. Process Project3.exe (6184) Module Load: rtl250.bpl. Has Debug Info. Base Address: $50050000. Process Project3.exe (6184) Module Load: OLEAUT32.dll. No Debug Info. Base Address: $74EA0000. Process Project3.exe (6184) Module Load: msvcp_win.dll. No Debug Info. Base Address: $76C20000. Process Project3.exe (6184) Module Load: ucrtbase.dll. No Debug Info. Base Address: $76B00000. Process Project3.exe (6184) Module Load: combase.dll. No Debug Info. Base Address: $76680000. Process Project3.exe (6184) Module Load: RPCRT4.dll. No Debug Info. Base Address: $74F40000. Process Project3.exe (6184) Module Load: SspiCli.dll. No Debug Info. Base Address: $739F0000. Process Project3.exe (6184) Module Load: CRYPTBASE.dll. No Debug Info. Base Address: $739E0000. Process Project3.exe (6184) Module Load: bcryptPrimitives.dll. No Debug Info. Base Address: $74580000. Process Project3.exe (6184) Module Load: SECHOST.dll. No Debug Info. Base Address: $746A0000. Process Project3.exe (6184) Module Load: ADVAPI32.dll. No Debug Info. Base Address: $76D50000. Process Project3.exe (6184) Module Load: msvcrt.dll. No Debug Info. Base Address: $73D00000. Process Project3.exe (6184) Module Load: USER32.dll. No Debug Info. Base Address: $764E0000. Process Project3.exe (6184) Module Load: win32u.dll. No Debug Info. Base Address: $73A10000. Process Project3.exe (6184) Module Load: GDI32.dll. No Debug Info. Base Address: $74660000. Process Project3.exe (6184) Module Load: gdi32full.dll. No Debug Info. Base Address: $73AC0000. Process Project3.exe (6184) Module Load: imagehlp.dll. No Debug Info. Base Address: $745E0000. Process Project3.exe (6184) Module Load: SHLWAPI.dll. No Debug Info. Base Address: $76CF0000. Process Project3.exe (6184) Module Load: ole32.dll. No Debug Info. Base Address: $74480000. Process Project3.exe (6184) Module Load: WS2_32.dll. No Debug Info. Base Address: $73C90000. Process Project3.exe (6184) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02B40000. Process Project3.exe (6184) Module Unload: fmx250.bpl. Process Project3.exe (6184) Module Load: VERSION.dll. No Debug Info. Base Address: $73850000. Process Project3.exe (6184) Module Load: MPR.dll. No Debug Info. Base Address: $6FC30000. Process Project3.exe (6184) Module Load: SHFOLDER.dll. No Debug Info. Base Address: $6FC60000. Process Project3.exe (6184) Module Load: SHELL32.dll. No Debug Info. Base Address: $75100000. Process Project3.exe (6184) Module Load: CFGMGR32.dll. No Debug Info. Base Address: $74CC0000. Process Project3.exe (6184) Module Load: SHCORE.dll. No Debug Info. Base Address: $75010000. Process Project3.exe (6184) Module Load: Windows.Storage.dll. No Debug Info. Base Address: $74700000. Process Project3.exe (6184) Module Load: AppCore.dll. No Debug Info. Base Address: $746F0000. Process Project3.exe (6184) Module Load: POWRPROF.dll. No Debug Info. Base Address: $74430000. Process Project3.exe (6184) Module Load: profapi.dll. No Debug Info. Base Address: $76660000. Process Project3.exe (6184) Module Load: NETAPI32.dll. No Debug Info. Base Address: $6EA80000. Process Project3.exe (6184) Module Load: WINHTTP.dll. No Debug Info. Base Address: $70F70000. Process Project3.exe (6184) Thread Start: Thread ID: 6828. Process Project3.exe (6184) Module Load: WSOCK32.dll. No Debug Info. Base Address: $70D50000. Process Project3.exe (6184) Module Load: OLEACC.dll. No Debug Info. Base Address: $6FB20000. Process Project3.exe (6184) Module Load: OPENGL32.dll. No Debug Info. Base Address: $6C8D0000. Process Project3.exe (6184) Thread Start: Thread ID: 6456. Process Project3.exe (6184) Module Load: GLU32.dll. No Debug Info. Base Address: $6FAC0000. Process Project3.exe (6184) Module Load: netutils.dll. No Debug Info. Base Address: $6E4A0000. Process Project3.exe (6184) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02C40000. Process Project3.exe (6184) Module Load: COMDLG32.dll. No Debug Info. Base Address: $76A10000. Process Project3.exe (6184) Module Load: COMCTL32.dll. No Debug Info. Base Address: $70D60000. Process Project3.exe (6184) Module Load: urlmon.dll. No Debug Info. Base Address: $6FF00000. Process Project3.exe (6184) Module Load: WINMM.dll. No Debug Info. Base Address: $6CEC0000. Process Project3.exe (6184) Module Load: WINSPOOL.DRV. No Debug Info. Base Address: $6C860000. Process Project3.exe (6184) Module Load: d3d9.dll. No Debug Info. Base Address: $6B960000. Process Project3.exe (6184) Module Load: iertutil.dll. No Debug Info. Base Address: $6FCE0000. Process Project3.exe (6184) Thread Start: Thread ID: 7136. Process Project3.exe (6184) Module Load: WINMMBASE.dll. No Debug Info. Base Address: $6CE90000. Process Project3.exe (6184) Module Load: dwmapi.dll. No Debug Info. Base Address: $6F4C0000. Process Project3.exe (6184) Module Load: bcrypt.dll. No Debug Info. Base Address: $71C50000. Process Project3.exe (6184) Module Load: IMM32.dll. No Debug Info. Base Address: $74E70000. Process Project3.exe (6184) Thread Start: Thread ID: 4232. Process Project3.exe (6184) Module Load: UxTheme.dll. No Debug Info. Base Address: $70620000. Process Project3.exe (6184) Module Load: MSCTF.dll. No Debug Info. Base Address: $768C0000. Process Project3.exe (6184) Module Load: gdiplus.dll. No Debug Info. Base Address: $70830000. Process Project3.exe (6184) Thread Start: Thread ID: 3124. Process Project3.exe (6184) Module Load: TextInputFramework.dll. No Debug Info. Base Address: $6C7A0000. Process Project3.exe (6184) Module Load: CoreUIComponents.dll. No Debug Info. Base Address: $6C570000. Process Project3.exe (6184) Module Load: CoreMessaging.dll. No Debug Info. Base Address: $6C4D0000. Process Project3.exe (6184) Module Load: NTMARTA.dll. No Debug Info. Base Address: $705F0000. Process Project3.exe (6184) Module Load: WinTypes.dll. No Debug Info. Base Address: $6C400000. Process Project3.exe (6184) Module Load: WinTypes.dll. No Debug Info. Base Address: $05960000. Process Project3.exe (6184) Module Unload: WinTypes.dll. Process Project3.exe (6184) Thread Start: Thread ID: 3616. Process Project3.exe (6184) Thread Start: Thread ID: 5984. Process Project3.exe (6184) Module Load: CLBCatQ.DLL. No Debug Info. Base Address: $73A30000. Process Project3.exe (6184) Module Load: DataExchange.dll. No Debug Info. Base Address: $69B60000. Process Project3.exe (6184) Module Load: d3d11.dll. No Debug Info. Base Address: $69910000. Process Project3.exe (6184) Module Load: dcomp.dll. No Debug Info. Base Address: $69800000. Process Project3.exe (6184) Module Load: dxgi.dll. No Debug Info. Base Address: $69770000. Process Project3.exe (6184) Module Load: twinapi.appcore.dll. No Debug Info. Base Address: $6CBF0000. Process Project3.exe (6184) Module Load: RMCLIENT.dll. No Debug Info. Base Address: $6CBD0000. Process Project3.exe (6184) Module Load: d3d10_1.dll. No Debug Info. Base Address: $63B40000. Process Project3.exe (6184) Module Load: d3d10_1core.dll. No Debug Info. Base Address: $63AE0000. Process Project3.exe (6184) Module Unload: d3d10_1core.dll. Process Project3.exe (6184) Module Unload: d3d10_1.dll. Process Project3.exe (6184) Module Load: d3d10_1.dll. No Debug Info. Base Address: $63B40000. Process Project3.exe (6184) Module Load: d3d10_1core.dll. No Debug Info. Base Address: $63AE0000. Process Project3.exe (6184) Module Load: ResourcePolicyClient.dll. No Debug Info. Base Address: $63A40000. Process Project3.exe (6184) Module Unload: ResourcePolicyClient.dll. Process Project3.exe (6184) Module Load: vm3dum10.exe. No Debug Info. Base Address: $63AA0000. Process Project3.exe (6184) Module Unload: vm3dum10.exe. Process Project3.exe (6184) Module Load: vm3dum10.exe. No Debug Info. Base Address: $63AA0000. Process Project3.exe (6184) Module Unload: vm3dum10.exe. Process Project3.exe (6184) Module Load: vm3dum10.exe. No Debug Info. Base Address: $63AA0000. Process Project3.exe (6184) Module Unload: vm3dum10.exe. Process Project3.exe (6184) Module Load: vm3dum10.exe. No Debug Info. Base Address: $63AA0000. Process Project3.exe (6184) Module Load: d2d1.dll. No Debug Info. Base Address: $65120000. Process Project3.exe (6184) Module Load: CRYPT32.dll. No Debug Info. Base Address: $73DC0000. Process Project3.exe (6184) Module Load: MSASN1.dll. No Debug Info. Base Address: $75000000. Process Project3.exe (6184) Module Load: DWrite.dll. No Debug Info. Base Address: $64EA0000. Process Project3.exe (6184) Module Load: WindowsCodecs.dll. No Debug Info. Base Address: $6C290000. Process Project3.exe (6184)

Perfect solution, right? Well, it does fix the issue for current and old versions of Delphi, but unfortunately not immediately. It is true Microsoft fixed the problem, but if the solution will show only in the next major release of the operating system, still several months away (Fall Creators Update), what happens to developers and users on Creators Update? We still hope and have been asking Microsoft for a fix also for the current version of Windows, and you can certainly join us in this request.

Some Temporary Workarounds

Given the two solutions above are coming but don't address the issue immediately and for all developers, it is important to focus also on a few available workarounds.

A first one is for debugging. Given the issue happens when loading the application, running it standalone and later attaching the debugger to it seems to work for most developers. Clearly, it is an annoyance, but clearly much better than waiting a lot of time or see the debugger get stuck.

A second workaround (for end users) is to consider one of the tools that fix-up and cleanup PE executables, including reorganizing the import/export tables. There are many such tools. One of them is http://www.ntcore.com/exsuite.php.

There are of course other more extreme options, like staying on Windows 10 Anniversary edition, jumping to the latest Insider release or moving from the use of runtime packages to releasing a single executable.

Conclusion

We are working on releasing our linker solution for the issue, we'll keep pushing Microsoft for a broad and more immediate fix, and we are also evaluating alternative workarounds for the short term. Stay tuned for more information.


posted by marcocantu @ 9:04AM

The Wiert Corner – irregular stream of stuff

Since I always forget where to get the full list: there is none in the documentation. Only parts.

Usually the mapping is from run-time errors to exceptions:

In addition, exceptions are converted to run-time errors when the exception handling mechanism in the unit is not up.

This can happen early in start-up, or late un shut-down of an application.

The one I encountered most is the runtime error 216 during shutdown: it is an Access Violation (EAccessViolation).

Run-time errors (not changed since Delphi 2007)

  • [WayBack] Delphi 2007: Exceptions

    When an application uses the  unit, most runtime errors are automatically converted into exceptions. Many errors that would otherwise terminate an application – such as insufficient memory, division by zero, and general protection faults – can be caught and handled.

  • [WayBack] Delphi 2007: Delphi Runtime Errors

    Runtime errors take the form:

    Runtime error nnn at xxxxxxxx

    where is the runtime error number, and is the runtime error address.

    Applications that use the SysUtils class map most runtime errors to Exceptions, which allow your application to resolve the error without terminating.

    Delphi runtime errors are divided into the following categories:

    • I/O errors, numbered 100 through 149
    • Fatal errors, numbered 200 through 255
    • Operating system errors

     

  • [WayBack] Delphi 2007: I/O Errors

    I/O errors cause an exception to be thrown if a statement is compiled in the state. (If the application does not include the class, the exception causes the application to terminate).

    In the state, the program continues to execute, and the error is reported by the function.

    Number

    Name

    Description

    100

    Disk read error

    Reported by Read on a typed file if you attempt to read past the end of the file.

    101

    Disk write error

    Reported by CloseFile, Write, WriteIn, or Flush if the disk becomes full.

    102

    File not assigned

    Reported by Reset, Rewrite, Append, Rename, or Erase if the file variable has not been assigned a name through a call to Assign or AssignFile.

    103

    File not open

    Reported by CloseFile, Read Write, Seek, Eof, FilePos, FileSize, Flush, BlockRead, or BlockWrite if the file is not open.

    104

    File not open for input

    Reported by Read, Readln, Eof, Eoln, SeekEof, or SeekEoln on a text file if the file is not open for input.

    105

    File not open for output

    Reported by Write or Writeln on a text file if you do not generate a Console application.

    106

    Invalid numeric format

    Reported by Read or Readln if a numeric value read from a text file does not conform to the proper numeric format.

  • [WayBack] Delphi 2007: Fatal errors

    Number

    Name

    Exception

    200

    Division by zero

    EDivByZero

    201

    Range check error

    ERangeError

    202

    Stack overflow

    EStackOverflow

    203

    Heap overflow error

    EOutOfMemory

    204

    Invalid pointer operation

    EInvalidPointer

    205

    Floating point overflow

    EOverflow

    206

    Floating point underflow

    EUnderflow

    207

    Invalid floating point operation

    EInvalidOp

    210

    Abstract Method Error

    EAbstractError

    215

    Arithmetic overflow (integer only)

    EIntOverflow

    216

    Access violation

    EAccessViolation

    217

    Control-C

    EControlC

    218

    Privileged instruction

    EPrivilege

    219

    Invalid typecast

    EInvalidCast

    220

    Invalid variant typecast

    EVariantError

    221

    Invalid variant operation

    EVariantError

    222

    No variant method call dispatcher

    EVariantError

    223

    Cannot create variant array

    EVariantError

    224

    Variant does not contain array

    EVariantError

    225

    Variant array bounds error

    EVariantError

    226

    TLS initialization error

    No exception to map to.

    227

    Assertion failed

    EAssertionFailed

    228

    Interface Cast Error

    EIntfCastError

    229

    Safecall error

    ESafecallException

    230

    Unhandled exception

    No exception to map to.

    231

    Too many nested exceptions

    Up to 16 permitted.

    232

    Fatal signal raised on a non-Delphi thread

    No exception to map to.

For completeness, some DOS Borland/Turbo Pascal errors from [WayBack] where are the runtime error codes, eh? – delphi

Borland Pascal 7 runtime errors; most applicable to Delphi:
*** DOS ***
1   Invalid function number
2   File not found
3   Path not found
4   Too many open files
5   File access denied
6   Invalid file handle
12  Invalid file access code
15  Invalid drive number
16  Cannot remove current directory
17  Cannot rename across drives
18  No more files
*** I/O ***
100 Disc read error
101 Disc write error
102 File not assigned
103 File not open
104 File not open for input
105 File not open for output
106 Invalid numeric format read from file
*** CRITICAL ***
150 Write protected
151 Unknown unit/Bad drive request struct length
152 Drive not ready
153 Unknown command
154 CRC error in data
155 Bad drive request structure length
156 Disc seek error
157 Unknown media type
158 Sector not found
159 Printer out of paper
160 Device write fault
161 Device read fault
162 Hardware failure (C-DOS: file/device opened by another process)
*** FATAL ***
200 Division by zero
201 Range check
202 Stack overflow (on entry to a procedure or function)
203 Heap overflow (from New() or GetMem())
204 Invalid pointer operation (from Dispose() or FreeMem())
205 Floating point overflow
206 Floating point underflow
207 Invalid floating point operation
208 Overlay manager not installed (usually when calling OvrInit)
209 Overlay file read error
210 Object not initialized
211 Call to abstract method
212 Stream registration error
213 Collection index out of range

Last Updated on August 19, 2021



Updated August 2022: Stop getting error messages and slow down your system with our optimization tool. Get it now at this link

  1. Download and install the repair tool here.
  2. Let it scan your computer.
  3. The tool will then repair your computer.

Error 217 can occur on a Windows computer when you open an application. This problem may have several causes, such as incomplete download package, corrupted files, etc. The error message also specifies the address where the runtime error occurred. For example, it might say ‘Runtime error 217 at 0041AC0D’, etc.

What causes runtime error 217?

A conflict with a third-party application: There are a number of conflicts with third-party applications that are known to cause this particular runtime problem.

Corrupted system files: If a similar problem occurs with several different programs, you are most likely dealing with a corrupted system file that affects VB programs running.

Major registry error: If you encounter this problem when trying to run Autodata, the problem is most likely related to a faulty DLL file (ChilkatCrypt2.dll).

Incomplete application installation: the most common cause of this error is incomplete application installation caused by an unexpected system crash or by your AV blocking the installation.

How to repair the runtime error 217?

August 2022 Update:

You can now prevent PC problems by using this tool, such as protecting you against file loss and malware. Additionally it is a great way to optimize your computer for maximum performance. The program fixes common errors that might occur on Windows systems with ease - no need for hours of troubleshooting when you have the perfect solution at your fingertips:

  • Step 1 : Download PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista – Microsoft Gold Certified).
  • Step 2 : Click “Start Scan” to find Windows registry issues that could be causing PC problems.
  • Step 3 : Click “Repair All” to fix all issues.

download



sfc-command

Running SFC and DISM

  1. Open a Windows search and type cmd.
  2. Right-click on Command Prompt and select Run as administrator.
  3. Now copy and paste the following command and press Enter after each command.
    sfc /scannow
    Dism /Online /Cleanup-Image /ScanHealth
  4. Now try to restart the application.
  5. If it works without problems, it means that the SFC scan was able to fix the error.

Restore Microsoft Visual C++ installation

  1. Open the Control Panel by typing Control Panel in the Windows search bar.
  2. In the right pane, go to Programs and Features.
  3. Now select Microsoft Visual C++ 2015-2019 Redistributable (x64), right-click and select Edit.
  4. Now click the Restore button.
  5. That’s it! The error should now be fixed.

Reinstall the application

  1. Open the Control Panel by typing Control Panel in the Windows search bar.
  2. In the right pane, go to “Uninstall a program”.
  3. Select the application, right-click and select Uninstall.
  4. The error should now be fixed.



Expert Tip: This repair tool scans the repositories and replaces corrupt or missing files if none of these methods have worked. It works well in most cases where the problem is due to system corruption. This tool will also optimize your system to maximize performance. It can be downloaded by Clicking Here

Frequently Asked Questions

  1. Update Windows to fix the Msvcrt.dll file.
  2. Adjust your computer's regional settings.
  3. Download StDole32. TLB from the Internet.
  4. Clean the registry.

If runtime error 217 appears on the screen immediately after you start your operating system, it means that the problem is caused by startup programs. It is possible that one or two programs are incompatible and are causing this error message.

  1. Reboot the computer.
  2. Update the program to the latest version.
  3. Uninstall the program completely and then reinstall it.
  4. Install the latest version of the Microsoft Visual C++ Redistributable package.
  5. Use SFC scannow to restore damaged Windows files.
  6. Run System Restore to restore the computer to its previous state.

If you get this warning on your PC, it means that your system is malfunctioning.

Categories WindowsTags 0041AC0D, 0041ACoD, 004bb10d, 00580d29, autodata, autodata runtime, delphi, dll, e0209 sentinel, error 217, microsoft, runtime error 217, to fix runtime, visual c++, windows 10

Board index » delphi » Runtime error 217


Quote
Guy wrote:
> I am running delphi 4 with Sql server 6.5 on an NT network. When I click
> on my EXE I get this error message- "Runtime Error 217".

> Any thoughts/ ideas will be greatly appreciated.

> Guy
> [email protected]

One common cause of Error 217 is an Exception occuring in an Initialization
section of a unit.
The error indicates that an error occured while the program was
'initializing'. I think I have seen the error also when loading an dll
failed, or similar problems.
Do you use initialization sections in your code? Try using ShowMessages to
catch the moment when the bug occurs, or simply using breakpoints if the exe
is on your  Delphi machine.

If your in bad luck the error occurs in 3-rd party code, such as a
component, from wich you may not have the source code.
Perhaps also there is a problem loading the SQL server drivers, or loading
the BDE.

I recently had a similar error because an Initialization section used
Delphi's Printer object.
It turned there was a error 217 when no default printer was installed. Since
the error occured only on some pc's we had a hard time finding the bug.
--
Edwin Teisman, The Netherlands
email: [email protected]

Runtime error 217 at delphi windows 7 -

Last Updated on August 19, 2021



Updated August 2022: Stop getting error messages and slow down your system with our optimization tool. Get it now at this link

  1. Download and install the repair tool here.
  2. Let it scan your computer.
  3. The tool will then repair your computer.

Error 217 can occur on a Windows computer when you open an application. This problem may have several causes, such as incomplete download package, corrupted files, etc. The error message also specifies the address where the runtime error occurred. For example, it might say ‘Runtime error 217 at 0041AC0D’, etc.

What causes runtime error 217?

A conflict with a third-party application: There are a number of conflicts with third-party applications that are known to cause this particular runtime problem.

Corrupted system files: If a similar problem occurs with several different programs, you are most likely dealing with a corrupted system file that affects VB programs running.

Major registry error: If you encounter this problem when trying to run Autodata, the problem is most likely related to a faulty DLL file (ChilkatCrypt2.dll).

Incomplete application installation: the most common cause of this error is incomplete application installation caused by an unexpected system crash or by your AV blocking the installation.

How to repair the runtime error 217?

August 2022 Update:

You can now prevent PC problems by using this tool, such as protecting you against file loss and malware. Additionally it is a great way to optimize your computer for maximum performance. The program fixes common errors that might occur on Windows systems with ease - no need for hours of troubleshooting when you have the perfect solution at your fingertips:

  • Step 1 : Download PC Repair & Optimizer Tool (Windows 10, 8, 7, XP, Vista – Microsoft Gold Certified).
  • Step 2 : Click “Start Scan” to find Windows registry issues that could be causing PC problems.
  • Step 3 : Click “Repair All” to fix all issues.

download



sfc-command

Running SFC and DISM

  1. Open a Windows search and type cmd.
  2. Right-click on Command Prompt and select Run as administrator.
  3. Now copy and paste the following command and press Enter after each command.
    sfc /scannow
    Dism /Online /Cleanup-Image /ScanHealth
  4. Now try to restart the application.
  5. If it works without problems, it means that the SFC scan was able to fix the error.

Restore Microsoft Visual C++ installation

  1. Open the Control Panel by typing Control Panel in the Windows search bar.
  2. In the right pane, go to Programs and Features.
  3. Now select Microsoft Visual C++ 2015-2019 Redistributable (x64), right-click and select Edit.
  4. Now click the Restore button.
  5. That’s it! The error should now be fixed.

Reinstall the application

  1. Open the Control Panel by typing Control Panel in the Windows search bar.
  2. In the right pane, go to “Uninstall a program”.
  3. Select the application, right-click and select Uninstall.
  4. The error should now be fixed.



Expert Tip: This repair tool scans the repositories and replaces corrupt or missing files if none of these methods have worked. It works well in most cases where the problem is due to system corruption. This tool will also optimize your system to maximize performance. It can be downloaded by Clicking Here

Frequently Asked Questions

  1. Update Windows to fix the Msvcrt.dll file.
  2. Adjust your computer's regional settings.
  3. Download StDole32. TLB from the Internet.
  4. Clean the registry.

If runtime error 217 appears on the screen immediately after you start your operating system, it means that the problem is caused by startup programs. It is possible that one or two programs are incompatible and are causing this error message.

  1. Reboot the computer.
  2. Update the program to the latest version.
  3. Uninstall the program completely and then reinstall it.
  4. Install the latest version of the Microsoft Visual C++ Redistributable package.
  5. Use SFC scannow to restore damaged Windows files.
  6. Run System Restore to restore the computer to its previous state.

If you get this warning on your PC, it means that your system is malfunctioning.

Categories WindowsTags 0041AC0D, 0041ACoD, 004bb10d, 00580d29, autodata, autodata runtime, delphi, dll, e0209 sentinel, error 217, microsoft, runtime error 217, to fix runtime, visual c++, windows 10

fix runtime error 217 windows

If you are regular Windows 10/8.1/8/7 user and you have noticed “runtime error 217” on your PC, then be careful. It is important to know for you that why you are getting this error continuously in your System screen and what are the main reasons behind it.

Runtime error 217 windows may occur  due to malware attacks or installed application on un-supported System architecture and others. Don’t be panics, please read this article carefully. This article will give you complete details about “runtime error 217” as well as you will get some recommended solution to fix it.

Cause of runtime error 217 windows Operating System:

  • If you have installed an application incompletely on your machine that means some program are missing of such application, then it might possible to get runtime error 217 in your windows PCs.
  • Sometimes, this runtime error occurs due to wrong regional settings of your computer.
  • It might possible to get “runtime error 217 windows” on PCs when you are using outdated software in your machine.
  • You can get this error in your PCs if your System has infected from malware or spyware.
  • Sometimes, runtime error 217 occurs in your Windows PCs due hardware failure. It means that the recently added hardware to your computer is not working properly and display “runtime error 217” message on your machine.
  • It might possible to get “delphi runtime error 217 windows 10” while you try to start Delphi XE3 IDE (bds.exe) on your Windows PCs. In this case, you should try to re-install this Delphi XE3 IDE on PCs and check if problem is resolved.
  • When Windows registry setting has been corrupted, then it might possible to get runtime error 217 windows operating System.
  • When Msvcrt.dll file associated with Microsoft C++ is missing or corrupted, then this error code may appear.

Ways to fix runtime error 217 windows 10/8.1/8/7

Procedure 1: You need to apply “Disable all” option in System configuration

Step 1: Press “Windows + R” to open runs dialog box

Step 2: Type “msconfig” and then press enter key to open “System Configuration” dialog box

runtime error 217 windows

 

 

Step 3: Check the “Hide all Microsoft services” on “services” tab and then click on “Disable all” option

runtime error 217 windows

 

Step 4: Then click on “Apply” and “OK”

Step 5: After that, open task manager (Right click on Taskbar and then click on “Task manager”)

Step 6: Click on “Startup” tab

runtime error 217 windows

Step 7: Choose one-by-one and “disable” all

Step 8: follow the step 7 to close all the open Windows. After that, restarts your Windows PCs

Procedure 2: you need fix regional setting for your Windows PCs (Fix delphi runtime error 217 windows 10)

Step 1: Click on Start button and select “Control Panel”

runtime error 217 windows

Step 2: Now, select” Clock”, then select” language” and then select “Region” option

runtime error 217 windows

Note: select the specific setting that has to be changed.

Procedure 3: You need to download “StDole32.TLB”

Step 1: Download “StDole32.zip” file internet to your PCs

Step 2: Now, Unzip the file and place the file in “C:\Windows\System32” of your computer hard drives

Step 3: You need to check if you program will work again.

Conclusion

Runtime error 217 for windows Operating System is one of the most common errors that appear on your System screen due to some internal problems. I hope that this article helped you to detect how this error occurs in your Windows PCs as well as you have get some solution to fix it.

If you are unable to fix delphi runtime error 217 windows 10, then you should try to scan your Windows PCs with very powerful antimalware tool. Sometimes, this type of error occurs in your Windows Operating System due to Cyber attack or malware attack. It means that your System has infected from malware or Spyware. So, you should go for complete or full scan by using strong & legitimate anti malware software.

Is Your PC Behaving Abnormal & Needs Instant Optimzation?

We recommend you to choose Reimage PC Repair Suite which is dedicated to offer complete options to optimize a PC, fix any Windows error, and remove malware threats in easy. The software is award winning and suggested as the best malware fix application supporting all Windows versions including XP/Vista/7/8/8.1/10. Just 3 steps to avail error free PC.

  1. Download Reimage PC Repair and install on your PC. (Follow all on screen instructions when installer is executed)
  2. Click “Scan Your PC” button to scan all present issues, errors, junk files, and malware threats.
  3. Finally, click “Start Repair” to fix all detected problems in next few minutes.
30 Comments [0 Pending]

The Wiert Corner – irregular stream of stuff

Since I always forget where to get the full list: there is none in the documentation. Only parts.

Usually the mapping is from run-time errors to exceptions:

In addition, exceptions are converted to run-time errors when the exception handling mechanism in the unit is not up.

This can happen early in start-up, or late un shut-down of an application.

The one I encountered most is the runtime error 216 during shutdown: it is an Access Violation (EAccessViolation).

Run-time errors (not changed since Delphi 2007)

  • [WayBack] Delphi 2007: Exceptions

    When an application uses the  unit, most runtime errors are automatically converted into exceptions. Many errors that would otherwise terminate an application – such as insufficient memory, division by zero, and general protection faults – can be caught and handled.

  • [WayBack] Delphi 2007: Delphi Runtime Errors

    Runtime errors take the form:

    Runtime error nnn at xxxxxxxx

    where is the runtime error number, and is the runtime error address.

    Applications that use the SysUtils class map most runtime errors to Exceptions, which allow your application to resolve the error without terminating.

    Delphi runtime errors are divided into the following categories:

    • I/O errors, numbered 100 through 149
    • Fatal errors, numbered 200 through 255
    • Operating system errors

     

  • [WayBack] Delphi 2007: I/O Errors

    I/O errors cause an exception to be thrown if a statement is compiled in the state. (If the application does not include the class, the exception causes the application to terminate).

    In the state, the program continues to execute, and the error is reported by the function.

    Number

    Name

    Description

    100

    Disk read error

    Reported by Read on a typed file if you attempt to read past the end of the file.

    101

    Disk write error

    Reported by CloseFile, Write, WriteIn, or Flush if the disk becomes full.

    102

    File not assigned

    Reported by Reset, Rewrite, Append, Rename, or Erase if the file variable has not been assigned a name through a call to Assign or AssignFile.

    103

    File not open

    Reported by CloseFile, Read Write, Seek, Eof, FilePos, FileSize, Flush, BlockRead, or BlockWrite if the file is not open.

    104

    File not open for input

    Reported by Read, Readln, Eof, Eoln, SeekEof, or SeekEoln on a text file if the file is not open for input.

    105

    File not open for output

    Reported by Write or Writeln on a text file if you do not generate a Console application.

    106

    Invalid numeric format

    Reported by Read or Readln if a numeric value read from a text file does not conform to the proper numeric format.

  • [WayBack] Delphi 2007: Fatal errors

    Number

    Name

    Exception

    200

    Division by zero

    EDivByZero

    201

    Range check error

    ERangeError

    202

    Stack overflow

    EStackOverflow

    203

    Heap overflow error

    EOutOfMemory

    204

    Invalid pointer operation

    EInvalidPointer

    205

    Floating point overflow

    EOverflow

    206

    Floating point underflow

    EUnderflow

    207

    Invalid floating point operation

    EInvalidOp

    210

    Abstract Method Error

    EAbstractError

    215

    Arithmetic overflow (integer only)

    EIntOverflow

    216

    Access violation

    EAccessViolation

    217

    Control-C

    EControlC

    218

    Privileged instruction

    EPrivilege

    219

    Invalid typecast

    EInvalidCast

    220

    Invalid variant typecast

    EVariantError

    221

    Invalid variant operation

    EVariantError

    222

    No variant method call dispatcher

    EVariantError

    223

    Cannot create variant array

    EVariantError

    224

    Variant does not contain array

    EVariantError

    225

    Variant array bounds error

    EVariantError

    226

    TLS initialization error

    No exception to map to.

    227

    Assertion failed

    EAssertionFailed

    228

    Interface Cast Error

    EIntfCastError

    229

    Safecall error

    ESafecallException

    230

    Unhandled exception

    No exception to map to.

    231

    Too many nested exceptions

    Up to 16 permitted.

    232

    Fatal signal raised on a non-Delphi thread

    No exception to map to.

For completeness, some DOS Borland/Turbo Pascal errors from [WayBack] where are the runtime error codes, eh? – delphi

Borland Pascal 7 runtime errors; most applicable to Delphi:
*** DOS ***
1   Invalid function number
2   File not found
3   Path not found
4   Too many open files
5   File access denied
6   Invalid file handle
12  Invalid file access code
15  Invalid drive number
16  Cannot remove current directory
17  Cannot rename across drives
18  No more files
*** I/O ***
100 Disc read error
101 Disc write error
102 File not assigned
103 File not open
104 File not open for input
105 File not open for output
106 Invalid numeric format read from file
*** CRITICAL ***
150 Write protected
151 Unknown unit/Bad drive request struct length
152 Drive not ready
153 Unknown command
154 CRC error in data
155 Bad drive request structure length
156 Disc seek error
157 Unknown media type
158 Sector not found
159 Printer out of paper
160 Device write fault
161 Device read fault
162 Hardware failure (C-DOS: file/device opened by another process)
*** FATAL ***
200 Division by zero
201 Range check
202 Stack overflow (on entry to a procedure or function)
203 Heap overflow (from New() or GetMem())
204 Invalid pointer operation (from Dispose() or FreeMem())
205 Floating point overflow
206 Floating point underflow
207 Invalid floating point operation
208 Overlay manager not installed (usually when calling OvrInit)
209 Overlay file read error
210 Object not initialized
211 Call to abstract method
212 Stream registration error
213 Collection index out of range

> {quote:title=Dag Hovden wrote:}{quote} > > This can mean several different things. Often, it's a DEP error caused by trying to execute code in the data section. > > Wouldn't that show under 32-bits Windows then? Is it something specific for 64 bits?

Not necessarily. DEP can be turned off on 32-bit Windows; I'm not sure it can on 64-bit flavors.


> > The easiest way to track it down would probably be using something like MadExcept (http://www.madshi.net). It's inexpensive, and provides some really good exception handling capabilities. > > I have got MadExcept and it's brilliant. However, this particular error seems to come so early in the lifetime of my application that MadExcept has had no change to hook in (if that is at all possible). Anyway, I get no message from MadExcept, >

Ouch. That makes it rough to track down. You can try seeing if you can set a breakpoint at the very first line in the .DPR (Application.Initialize), and start stepping through it. It takes a while, but you can continue moving the breakpoint further into the code (and disabling the prior ones) as you clear sections.


If the problem happens before you reach Application.Initialize, then the issue is with an initialization section somewhere. I'd look at any third-party controls you use that contain initialization blocks, and see what they're doing and if a breakpoint there reveals anything.


Either way, you have my sympathy. These are nasty to track down.

Windows 10 Creators Update changes to DLL loading affects Delphi applications that use runtime packages. Here is in update on the problems and possible solutions.

Since Windows 10 Creators Update was released two months ago, we have started seeing reports of issues with runtime package (for example, https://quality.embarcadero.com/browse/RSP-17972, where myself, Embarcadero support and R&D have chimed in), mostly while debugging applications. The issue is affecting applications that use runtime packages (BPL), not applications compiled as a single executable. In general terms, the problem affects all applications that use runtime packages, built with any version of Delphi (recent, old, or even the early ones). In most cases, the slowdown for end user application is relatively limited, however applications with runtime packages on network shares are affected. But what is happening?

The Core Issue: Optimized DLL Loading

Let's start with some background information. On the Windows operating system, dynamic linking (DLLs) support both load-time binding and full runtime binding (LoadLibrary). In both cases, when the DLL is generated it is has a table of entry points (export table). Any other library or executable referring to it has an import table referring to functions of that export table. Since the early days, when the Delphi compiler (and linker) generate a DLL or package library (BPL) by assembling multiple units in a single binary file, and do so by making functions and methods available by creating multiple sections in the export/import table. This was likely a minor linker optimization, and never had a real side effect.

Fast forward to Windows 10 Creators Update. Microsoft decided to rewrite the DLL loading code to make it parallel (different threads can load different libraries in parallel) to optimize applications loading. However this change has ended up affecting the loading of libraries with multiple sections in the export tables. Empirically, it looks like a BPL is loaded once for each segment. Now consider that most of the core Delphi BPL (rtl, vcl, fmx) have dozens and dozens of sections, and the result is libraries are loaded (and unloaded) dozens and dozens of times.

Here is a screenshot of the effect in the Event log (this is a single form FMX application):

While in this simple application on my machine it takes a couple of extra seconds, with larger applications having many runtime packages the effect on the debugger can be fairly extreme. Here is the full debugger log, with operations on packages (and other notable ones) marked in bold:

Thread Start: Thread ID: 12052. Process Project13.exe (13088) Process Start: C:\Users\marco\Documents\Embarcadero\Studio\Projects\Win32\Debug\Project13.exe. Base Address: $00400000. Process Project13.exe (13088) Module Load: Project13.exe. Has Debug Info. Base Address: $00400000. Process Project13.exe (13088) Module Load: ntdll.dll. No Debug Info. Base Address: $76F40000. Process Project13.exe (13088) Module Load: KERNEL32.dll. No Debug Info. Base Address: $74520000. Process Project13.exe (13088) Module Unload: KERNEL32.dll. Process Project13.exe (13088) Module Load: KERNEL32.dll. No Debug Info. Base Address: $74520000. Process Project13.exe (13088) Module Load: KERNELBASE.dll. No Debug Info. Base Address: $73B80000. Process Project13.exe (13088) Thread Start: Thread ID: 14596. Process Project13.exe (13088) Thread Start: Thread ID: 2688. Process Project13.exe (13088) Thread Start: Thread ID: 2076. Process Project13.exe (13088) Module Load: rtl250.bpl. Has Debug Info. Base Address: $50050000. Process Project13.exe (13088) Module Load: rtl250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: rtl250.bpl. Has Debug Info. Base Address: $01740000. Process Project13.exe (13088) Module Load: rtl250.bpl. Has Debug Info. Base Address: $02170000. Process Project13.exe (13088) Module Unload: rtl250.bpl. Process Project13.exe (13088) Module Unload: rtl250.bpl. Process Project13.exe (13088) Module Unload: rtl250.bpl. Process Project13.exe (13088) Module Load: OLEAUT32.dll. No Debug Info. Base Address: $74980000. Process Project13.exe (13088) Module Load: msvcp_win.dll. No Debug Info. Base Address: $76130000. Process Project13.exe (13088) Module Load: ucrtbase.dll. No Debug Info. Base Address: $743A0000. Process Project13.exe (13088) Module Load: combase.dll. No Debug Info. Base Address: $75EA0000. Process Project13.exe (13088) Module Load: RPCRT4.dll. No Debug Info. Base Address: $73A30000. Process Project13.exe (13088) Module Load: SspiCli.dll. No Debug Info. Base Address: $73A10000. Process Project13.exe (13088) Module Load: CRYPTBASE.dll. No Debug Info. Base Address: $73A00000. Process Project13.exe (13088) Module Load: bcryptPrimitives.dll. No Debug Info. Base Address: $76810000. Process Project13.exe (13088) Module Load: SECHOST.dll. No Debug Info. Base Address: $763A0000. Process Project13.exe (13088) Module Load: ADVAPI32.dll. No Debug Info. Base Address: $73AF0000. Process Project13.exe (13088) Module Load: msvcrt.dll. No Debug Info. Base Address: $75DE0000. Process Project13.exe (13088) Module Load: USER32.dll. No Debug Info. Base Address: $76870000. Process Project13.exe (13088) Module Load: win32u.dll. No Debug Info. Base Address: $74A20000. Process Project13.exe (13088) Module Load: GDI32.dll. No Debug Info. Base Address: $74A50000. Process Project13.exe (13088) Module Load: gdi32full.dll. No Debug Info. Base Address: $74640000. Process Project13.exe (13088) Module Load: imagehlp.dll. No Debug Info. Base Address: $74060000. Process Project13.exe (13088) Module Load: SHLWAPI.dll. No Debug Info. Base Address: $745F0000. Process Project13.exe (13088) Module Load: ole32.dll. No Debug Info. Base Address: $74080000. Process Project13.exe (13088) Module Load: WS2_32.dll. No Debug Info. Base Address: $73E20000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $031A0000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $031A0000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $031A0000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $031A0000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088)Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $01940000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02570000. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Unload: fmx250.bpl. Process Project13.exe (13088) Module Load: VERSION.dll. No Debug Info. Base Address: $73990000. Process Project13.exe (13088) Module Load: NETAPI32.dll. No Debug Info. Base Address: $712F0000. Process Project13.exe (13088) Module Load: MPR.dll. No Debug Info. Base Address: $72BB0000. Process Project13.exe (13088) Module Load: SHFOLDER.dll. No Debug Info. Base Address: $737E0000. Process Project13.exe (13088) Module Load: SHELL32.dll. No Debug Info. Base Address: $74A80000. Process Project13.exe (13088) Module Load: WINHTTP.dll. No Debug Info. Base Address: $72B00000. Process Project13.exe (13088) Module Load: WSOCK32.dll. No Debug Info. Base Address: $72A00000. Process Project13.exe (13088) Module Load: OLEACC.dll. No Debug Info. Base Address: $6F3D0000. Process Project13.exe (13088) Module Load: CFGMGR32.dll. No Debug Info. Base Address: $73D50000. Process Project13.exe (13088) Module Load: OPENGL32.dll. No Debug Info. Base Address: $6F2F0000. Process Project13.exe (13088) Module Load: SHCORE.dll. No Debug Info. Base Address: $73D90000. Process Project13.exe (13088) Module Load: GLU32.dll. No Debug Info. Base Address: $70C90000. Process Project13.exe (13088) Module Load: netutils.dll. No Debug Info. Base Address: $71C70000. Process Project13.exe (13088) Module Load: Windows.Storage.dll. No Debug Info. Base Address: $769B0000. Process Project13.exe (13088) Module Load: AppCore.dll. No Debug Info. Base Address: $73B70000. Process Project13.exe (13088) Module Load: POWRPROF.dll. No Debug Info. Base Address: $760E0000. Process Project13.exe (13088) Module Load: profapi.dll. No Debug Info. Base Address: $74970000. Process Project13.exe (13088) Module Load: fmx250.bpl. Has Debug Info. Base Address: $00D10000. Process Project13.exe (13088) Module Load: COMDLG32.dll. No Debug Info. Base Address: $742A0000. Process Project13.exe (13088) Module Load: COMCTL32.dll. No Debug Info. Base Address: $6F510000. Process Project13.exe (13088) Module Load: urlmon.dll. No Debug Info. Base Address: $6CE50000. Process Project13.exe (13088) Module Load: WINMM.dll. No Debug Info. Base Address: $72F20000. Process Project13.exe (13088) Module Load: d3d9.dll. No Debug Info. Base Address: $68C10000. Process Project13.exe (13088) Module Load: WINSPOOL.DRV. No Debug Info. Base Address: $6F280000. Process Project13.exe (13088) Module Load: iertutil.dll. No Debug Info. Base Address: $6CC30000. Process Project13.exe (13088) Module Load: WINMMBASE.dll. No Debug Info. Base Address: $72A10000. Process Project13.exe (13088) Module Load: WINMMBASE.dll. No Debug Info. Base Address: $001D0000. Process Project13.exe (13088) Module Unload: WINMMBASE.dll. Process Project13.exe (13088) Module Load: WINMMBASE.dll. No Debug Info. Base Address: $001D0000. Process Project13.exe (13088) Module Unload: WINMMBASE.dll. Process Project13.exe (13088) Module Load: dwmapi.dll. No Debug Info. Base Address: $6C320000. Process Project13.exe (13088) Module Load: bcrypt.dll. No Debug Info. Base Address: $729E0000. Process Project13.exe (13088) Module Load: IMM32.dll. No Debug Info. Base Address: $76370000. Process Project13.exe (13088) Module Load: UxTheme.dll. No Debug Info. Base Address: $6C2A0000. Process Project13.exe (13088) Module Load: MSCTF.dll. No Debug Info. Base Address: $761C0000. Process Project13.exe (13088) Module Load: gdiplus.dll. No Debug Info. Base Address: $6BFA0000. Process Project13.exe (13088) Thread Start: Thread ID: 2908. Process Project13.exe (13088) Module Load: TextInputFramework.dll. No Debug Info. Base Address: $6F1E0000. Process Project13.exe (13088) Module Load: CoreMessaging.dll. No Debug Info. Base Address: $6C8A0000. Process Project13.exe (13088) Module Load: CoreUIComponents.dll. No Debug Info. Base Address: $6C930000. Process Project13.exe (13088) Module Load: NTMARTA.dll. No Debug Info. Base Address: $71F60000. Process Project13.exe (13088) Module Load: WinTypes.dll. No Debug Info. Base Address: $70CF0000. Process Project13.exe (13088) Module Load: USERMGRCLI.dll. No Debug Info. Base Address: $70C00000. Process Project13.exe (13088) Thread Start: Thread ID: 14704. Process Project13.exe (13088) Thread Start: Thread ID: 11932. Process Project13.exe (13088) Thread Start: Thread ID: 12476. Process Project13.exe (13088) Module Load: CLBCatQ.DLL. No Debug Info. Base Address: $74210000. Process Project13.exe (13088) Module Load: DataExchange.dll. No Debug Info. Base Address: $5B340000. Process Project13.exe (13088) Module Load: d3d11.dll. No Debug Info. Base Address: $625F0000. Process Project13.exe (13088) Module Load: dcomp.dll. No Debug Info. Base Address: $5B250000. Process Project13.exe (13088) Module Load: dxgi.dll. No Debug Info. Base Address: $62850000. Process Project13.exe (13088) Module Load: twinapi.appcore.dll. No Debug Info. Base Address: $6F790000. Process Project13.exe (13088) Module Load: d3d10_1.dll. No Debug Info. Base Address: $6B4A0000. Process Project13.exe (13088) Module Load: d3d10_1core.dll. No Debug Info. Base Address: $69450000. Process Project13.exe (13088) Module Unload: d3d10_1core.dll. Process Project13.exe (13088) Module Unload: d3d10_1.dll. Process Project13.exe (13088) Module Load: d3d10_1.dll. No Debug Info. Base Address: $6B4A0000. Process Project13.exe (13088) Module Load: d3d10_1core.dll. No Debug Info. Base Address: $69450000. Process Project13.exe (13088) Module Load: ResourcePolicyClient.dll. No Debug Info. Base Address: $6D230000. Process Project13.exe (13088) Module Unload: ResourcePolicyClient.dll. Process Project13.exe (13088) Module Load: igd10iumd32.dll. No Debug Info. Base Address: $5C3A0000. Process Project13.exe (13088) Module Load: ncrypt.dll. No Debug Info. Base Address: $6B860000. Process Project13.exe (13088) Module Load: NTASN1.dll. No Debug Info. Base Address: $6B830000. Process Project13.exe (13088) Module Load: igdusc32.dll. No Debug Info. Base Address: $5ECD0000. Process Project13.exe (13088) Module Unload: igdusc32.dll. Process Project13.exe (13088) Module Unload: NTASN1.dll. Process Project13.exe (13088) Module Unload: ncrypt.dll. Process Project13.exe (13088) Module Unload: igd10iumd32.dll. Process Project13.exe (13088) Module Load: igd10iumd32.dll. No Debug Info. Base Address: $5C3A0000. Process Project13.exe (13088) Module Load: ncrypt.dll. No Debug Info. Base Address: $6B860000. Process Project13.exe (13088) Module Load: NTASN1.dll. No Debug Info. Base Address: $6B830000. Process Project13.exe (13088) Module Load: igdusc32.dll. No Debug Info. Base Address: $5ECD0000. Process Project13.exe (13088) Module Load: d2d1.dll. No Debug Info. Base Address: $51D40000. Process Project13.exe (13088) Module Load: CRYPT32.dll. No Debug Info. Base Address: $73EE0000. Process Project13.exe (13088) Module Load: MSASN1.dll. No Debug Info. Base Address: $74390000. Process Project13.exe (13088) Module Load: DWrite.dll. No Debug Info. Base Address: $51AF0000. Process Project13.exe (13088) Module Load: WindowsCodecs.dll. No Debug Info. Base Address: $699C0000. Process Project13.exe (13088)

Notice, again, this is not specific to Delphi 10.2 Tokyo or Delphi 10.1 Berlin, but the same applies to the XE series and even classic versions of the product. The issue is caused by a change at the operating system level.

If you are a developer using RAD Studio, we recommend holding off moving to Windows 10 Creators Update on your developer machines, but this is clearly not a solution, also also prevents you from experimenting with the latest version of Windows.

First Solution: Embarcadero to Fix the Linker

Given the issue is how runtime packages are managed by the operating system, the ultimate solutions can come only from two player: Embarcadero or Microsoft. In fact, it is coming from both sides.

On the Embarcadero side, our R&D team has worked on changing the linker in 10.2 Tokyo, so that it produces a single import table with all required entries. The problem is if we just release a new linker, all existing package libraries will still misbehave. So we need to update a fairly large portion of the product, something more commonly done in an Update (or new Release) than via a hot fix. This is by no mean a final decision and R&D and PM are weighing in the alternatives. Now, what about older version of Delphi? Given the effect on packages (from us and third parties) all requiring to be recompiled, this is a fairly difficult scenario to address for past versions of RAD Studio.

Second Solution: Microsoft to Fix the Loader

The second solution would be to Microsoft to address the issue wih the loaded, keep the optimized parallel loading but taking into account the scenario of Delphi packages (which, in fact, happens also with a handful of platform libraries, even if to a more limited extent). Now, we are very happy to share the fact that we have engaged with Microsoft on the issue and they have been very fast to tackle it. The latest 16215 "Insider Build" of Windows 10 Fall Creators Update (https://blogs.windows.com/windowsexperience/2017/06/08/announcing-windows-10-insider-preview-build-16215-pc-build-15222-mobile) addresses the issue. As you can see, using the RTM version of 10.2 Tokyo the FMX library is loaded twice. Still not exactly as it used to work, but not really causing any actual problem:

This is the complete event log as you start debugging a Windows FireMonkey application with runtime packages on build 16215. Lines related with Delphi packages are in bold:

Thread Start: Thread ID: 208. Process Project3.exe (6184) Process Start: C:\Users\Marco\Documents\Embarcadero\Studio\Projects\Win32\Debug\Project3.exe. Base Address: $00400000. Process Project3.exe (6184) Module Load: Project3.exe. Has Debug Info. Base Address: $00400000. Process Project3.exe (6184) Module Load: ntdll.dll. No Debug Info. Base Address: $76FA0000. Process Project3.exe (6184) Module Load: KERNEL32.dll. No Debug Info. Base Address: $74360000. Process Project3.exe (6184) Module Unload: KERNEL32.dll. Process Project3.exe (6184) Module Load: KERNEL32.dll. No Debug Info. Base Address: $74360000. Process Project3.exe (6184) Module Load: KERNELBASE.dll. No Debug Info. Base Address: $76DD0000. Process Project3.exe (6184) Module Load: rtl250.bpl. Has Debug Info. Base Address: $50050000. Process Project3.exe (6184) Module Load: OLEAUT32.dll. No Debug Info. Base Address: $74EA0000. Process Project3.exe (6184) Module Load: msvcp_win.dll. No Debug Info. Base Address: $76C20000. Process Project3.exe (6184) Module Load: ucrtbase.dll. No Debug Info. Base Address: $76B00000. Process Project3.exe (6184) Module Load: combase.dll. No Debug Info. Base Address: $76680000. Process Project3.exe (6184) Module Load: RPCRT4.dll. No Debug Info. Base Address: $74F40000. Process Project3.exe (6184) Module Load: SspiCli.dll. No Debug Info. Base Address: $739F0000. Process Project3.exe (6184) Module Load: CRYPTBASE.dll. No Debug Info. Base Address: $739E0000. Process Project3.exe (6184) Module Load: bcryptPrimitives.dll. No Debug Info. Base Address: $74580000. Process Project3.exe (6184) Module Load: SECHOST.dll. No Debug Info. Base Address: $746A0000. Process Project3.exe (6184) Module Load: ADVAPI32.dll. No Debug Info. Base Address: $76D50000. Process Project3.exe (6184) Module Load: msvcrt.dll. No Debug Info. Base Address: $73D00000. Process Project3.exe (6184) Module Load: USER32.dll. No Debug Info. Base Address: $764E0000. Process Project3.exe (6184) Module Load: win32u.dll. No Debug Info. Base Address: $73A10000. Process Project3.exe (6184) Module Load: GDI32.dll. No Debug Info. Base Address: $74660000. Process Project3.exe (6184) Module Load: gdi32full.dll. No Debug Info. Base Address: $73AC0000. Process Project3.exe (6184) Module Load: imagehlp.dll. No Debug Info. Base Address: $745E0000. Process Project3.exe (6184) Module Load: SHLWAPI.dll. No Debug Info. Base Address: $76CF0000. Process Project3.exe (6184) Module Load: ole32.dll. No Debug Info. Base Address: $74480000. Process Project3.exe (6184) Module Load: WS2_32.dll. No Debug Info. Base Address: $73C90000. Process Project3.exe (6184) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02B40000. Process Project3.exe (6184) Module Unload: fmx250.bpl. Process Project3.exe (6184) Module Load: VERSION.dll. No Debug Info. Base Address: $73850000. Process Project3.exe (6184) Module Load: MPR.dll. No Debug Info. Base Address: $6FC30000. Process Project3.exe (6184) Module Load: SHFOLDER.dll. No Debug Info. Base Address: $6FC60000. Process Project3.exe (6184) Module Load: SHELL32.dll. No Debug Info. Base Address: $75100000. Process Project3.exe (6184) Module Load: CFGMGR32.dll. No Debug Info. Base Address: $74CC0000. Process Project3.exe (6184) Module Load: SHCORE.dll. No Debug Info. Base Address: $75010000. Process Project3.exe (6184) Module Load: Windows.Storage.dll. No Debug Info. Base Address: $74700000. Process Project3.exe (6184) Module Load: AppCore.dll. No Debug Info. Base Address: $746F0000. Process Project3.exe (6184) Module Load: POWRPROF.dll. No Debug Info. Base Address: $74430000. Process Project3.exe (6184) Module Load: profapi.dll. No Debug Info. Base Address: $76660000. Process Project3.exe (6184) Module Load: NETAPI32.dll. No Debug Info. Base Address: $6EA80000. Process Project3.exe (6184) Module Load: WINHTTP.dll. No Debug Info. Base Address: $70F70000. Process Project3.exe (6184) Thread Start: Thread ID: 6828. Process Project3.exe (6184) Module Load: WSOCK32.dll. No Debug Info. Base Address: $70D50000. Process Project3.exe (6184) Module Load: OLEACC.dll. No Debug Info. Base Address: $6FB20000. Process Project3.exe (6184) Module Load: OPENGL32.dll. No Debug Info. Base Address: $6C8D0000. Process Project3.exe (6184) Thread Start: Thread ID: 6456. Process Project3.exe (6184) Module Load: GLU32.dll. No Debug Info. Base Address: $6FAC0000. Process Project3.exe (6184) Module Load: netutils.dll. No Debug Info. Base Address: $6E4A0000. Process Project3.exe (6184) Module Load: fmx250.bpl. Has Debug Info. Base Address: $02C40000. Process Project3.exe (6184) Module Load: COMDLG32.dll. No Debug Info. Base Address: $76A10000. Process Project3.exe (6184) Module Load: COMCTL32.dll. No Debug Info. Base Address: $70D60000. Process Project3.exe (6184) Module Load: urlmon.dll. No Debug Info. Base Address: $6FF00000. Process Project3.exe (6184) Module Load: WINMM.dll. No Debug Info. Base Address: $6CEC0000. Process Project3.exe (6184) Module Load: WINSPOOL.DRV. No Debug Info. Base Address: $6C860000. Process Project3.exe (6184) Module Load: d3d9.dll. No Debug Info. Base Address: $6B960000. Process Project3.exe (6184) Module Load: iertutil.dll. No Debug Info. Base Address: $6FCE0000. Process Project3.exe (6184) Thread Start: Thread ID: 7136. Process Project3.exe (6184) Module Load: WINMMBASE.dll. No Debug Info. Base Address: $6CE90000. Process Project3.exe (6184) Module Load: dwmapi.dll. No Debug Info. Base Address: $6F4C0000. Process Project3.exe (6184) Module Load: bcrypt.dll. No Debug Info. Base Address: $71C50000. Process Project3.exe (6184) Module Load: IMM32.dll. No Debug Info. Base Address: $74E70000. Process Project3.exe (6184) Thread Start: Thread ID: 4232. Process Project3.exe (6184) Module Load: UxTheme.dll. No Debug Info. Base Address: $70620000. Process Project3.exe (6184) Module Load: MSCTF.dll. No Debug Info. Base Address: $768C0000. Process Project3.exe (6184) Module Load: gdiplus.dll. No Debug Info. Base Address: $70830000. Process Project3.exe (6184) Thread Start: Thread ID: 3124. Process Project3.exe (6184) Module Load: TextInputFramework.dll. No Debug Info. Base Address: $6C7A0000. Process Project3.exe (6184) Module Load: CoreUIComponents.dll. No Debug Info. Base Address: $6C570000. Process Project3.exe (6184) Module Load: CoreMessaging.dll. No Debug Info. Base Address: $6C4D0000. Process Project3.exe (6184) Module Load: NTMARTA.dll. No Debug Info. Base Address: $705F0000. Process Project3.exe (6184) Module Load: WinTypes.dll. No Debug Info. Base Address: $6C400000. Process Project3.exe (6184) Module Load: WinTypes.dll. No Debug Info. Base Address: $05960000. Process Project3.exe (6184) Module Unload: WinTypes.dll. Process Project3.exe (6184) Thread Start: Thread ID: 3616. Process Project3.exe (6184) Thread Start: Thread ID: 5984. Process Project3.exe (6184) Module Load: CLBCatQ.DLL. No Debug Info. Base Address: $73A30000. Process Project3.exe (6184) Module Load: DataExchange.dll. No Debug Info. Base Address: $69B60000. Process Project3.exe (6184) Module Load: d3d11.dll. No Debug Info. Base Address: $69910000. Process Project3.exe (6184) Module Load: dcomp.dll. No Debug Info. Base Address: $69800000. Process Project3.exe (6184) Module Load: dxgi.dll. No Debug Info. Base Address: $69770000. Process Project3.exe (6184) Module Load: twinapi.appcore.dll. No Debug Info. Base Address: $6CBF0000. Process Project3.exe (6184) Module Load: RMCLIENT.dll. No Debug Info. Base Address: $6CBD0000. Process Project3.exe (6184) Module Load: d3d10_1.dll. No Debug Info. Base Address: $63B40000. Process Project3.exe (6184) Module Load: d3d10_1core.dll. No Debug Info. Base Address: $63AE0000. Process Project3.exe (6184) Module Unload: d3d10_1core.dll. Process Project3.exe (6184) Module Unload: d3d10_1.dll. Process Project3.exe (6184) Module Load: d3d10_1.dll. No Debug Info. Base Address: $63B40000. Process Project3.exe (6184) Module Load: d3d10_1core.dll. No Debug Info. Base Address: $63AE0000. Process Project3.exe (6184) Module Load: ResourcePolicyClient.dll. No Debug Info. Base Address: $63A40000. Process Project3.exe (6184) Module Unload: ResourcePolicyClient.dll. Process Project3.exe (6184) Module Load: vm3dum10.exe. No Debug Info. Base Address: $63AA0000. Process Project3.exe (6184) Module Unload: vm3dum10.exe. Process Project3.exe (6184) Module Load: vm3dum10.exe. No Debug Info. Base Address: $63AA0000. Process Project3.exe (6184) Module Unload: vm3dum10.exe. Process Project3.exe (6184) Module Load: vm3dum10.exe. No Debug Info. Base Address: $63AA0000. Process Project3.exe (6184) Module Unload: vm3dum10.exe. Process Project3.exe (6184) Module Load: vm3dum10.exe. No Debug Info. Base Address: $63AA0000. Process Project3.exe (6184) Module Load: d2d1.dll. No Debug Info. Base Address: $65120000. Process Project3.exe (6184) Module Load: CRYPT32.dll. No Debug Info. Base Address: $73DC0000. Process Project3.exe (6184) Module Load: MSASN1.dll. No Debug Info. Base Address: $75000000. Process Project3.exe (6184) Module Load: DWrite.dll. No Debug Info. Base Address: $64EA0000. Process Project3.exe (6184) Module Load: WindowsCodecs.dll. No Debug Info. Base Address: $6C290000. Process Project3.exe (6184)

Perfect solution, right? Well, it does fix the issue for current and old versions of Delphi, but unfortunately not immediately. It is true Microsoft fixed the problem, but if the solution will show only in the next major release of the operating system, still several months away (Fall Creators Update), what happens to developers and users on Creators Update? We still hope and have been asking Microsoft for a fix also for the current version of Windows, and you can certainly join us in this request.

Some Temporary Workarounds

Given the two solutions above are coming but don't address the issue immediately and for all developers, it is important to focus also on a few available workarounds.

A first one is for debugging. Given the issue happens when loading the application, running it standalone and later attaching the debugger to it seems to work for most developers. Clearly, it is an annoyance, but clearly much better than waiting a lot of time or see the debugger get stuck.

A second workaround (for end users) is to consider one of the tools that fix-up and cleanup PE executables, including reorganizing the import/export tables. There are many such tools. One of them is http://www.ntcore.com/exsuite.php.

There are of course other more extreme options, like staying on Windows 10 Anniversary edition, jumping to the latest Insider release or moving from the use of runtime packages to releasing a single executable.

Conclusion

We are working on releasing our linker solution for the issue, we'll keep pushing Microsoft for a broad and more immediate fix, and we are also evaluating alternative workarounds for the short term. Stay tuned for more information.


posted by marcocantu @ 9:04AM

Something is: Runtime error 217 at delphi windows 7

Typeerror components.classes cid is undefined firefox
Runtime error 217 at delphi windows 7
Runtime error 438 vba excel
Runtime error 217 at delphi windows 7
runtime error 217 at delphi windows 7

0 Comments

Leave a Comment