Actually this is a problem with ATOM table. I reported this issue to Embarcadero as it is causing me a lot of grieves.
If you monitor global atom table you will see that Delphi apps are leaking atoms, leaving the id of your app without dropping it off from memory:
You will see loads of following items:
**Delphi000003B4*
*Controlofs0040000000009C0**
Basically, since you can't register more than 0xFFFF different windows messages ID as soon as you ask for another one, the system will return "System Error. Code: 8. Not enough storage is available to process this command". Then you will not be able to start any app that creates a window.
Another issue was reported in Embarcadero QC Central.
This issue presents itself under Windows 7 / Windows Server 2008. The fact that on Windows Server 2003 and before it used to run is because of a wrong implementation, which recycles ATOMs once their index wrapped around the maximum of 16384 units.
Feel free to use my Global Atom Monitor to check whether your Delphi apps are leaking atoms or not.
To fix this you'll need a patch from Embarcadero.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…