IT SOLUTIONS
Your full service technology partner! 
-Collapse +Expand
Delphi
Search Delphi Group:

Advanced
-Collapse +Expand Delphi To/From
To/FromCODEGuides
-Collapse +Expand Delphi Store
PRESTWOODSTORE

Prestwood eMagazine

January Edition
Subscribe now! It's Free!
Enter your email:

   ► KBProgrammingDelphi for W...Using DataDelphi Downloads  Print This     
Next Random Article Next Random Tidbit || Change Topic Random From All
  From the September 2008 Issue of Prestwood eMag
 
Delphi Using Data:
Data Execution Prevention - Bug in Delphi 7
 
Posted 11 years ago on 7/17/2007 and updated 3/20/2008
Take Away: Late versions of Windows - and late processors - include a feature called Date Execution Prevention, or DEP. Programs written in Delphi 7 can trigger DEP errors because of a bug in the SysUtils unit. This article describes an unofficial fix.
 A file from our File Library ► Delphi Downloads

KB100651

Download Link:

 Download Now: 651_Attachment.zip

Data Execution Prevention is a feature designed to protect computers from hazardous software, like viruses and the like.

When a program is loaded, late Windows, and/or the microprocessor “mark” certain areas of the program as “off limits” to executable code. Data areas, like the stack, for instance, should not be allowed to run code that might be in them.

Unfortunately, a bug in the SysUtils unit of Delphi 7 (and, possibly earlier versions) dynamically builds and executes machine code in the stack segment. DEP does not like this one bit. Depending on the OS, an exception may be raised – or the program may simply be prevented from running.

This problem is fixed in Delphi 2005 and later.

For Delphi 2007, there is an unofficial “patch.” It consists of one, small Pascal unit, LanguagesDEPfix.PAS, written by Sasan Adami. Include it in your project. Then, in your project’s source, specify it as the first unit used.

For additional information about DEP, check this article: http://support.microsoft.com/kb/875351

Data Execution Prevention is a feature designed to protect computers from hazardous software, like viruses and the like.

When a program is loaded, late Windows, and/or the microprocessor “mark” certain areas of the program as “off limits” to executable code. Data areas, like the stack, for instance, should not be allowed to run code that might be in them.

Unfortunately, a bug in the SysUtils unit of Delphi 7 (and, possibly earlier versions) dynamically builds and executes machine code in the stack segment. DEP does not like this one bit.

Download Link:

 Download Now: 651_Attachment.zip


Comments

1 Comments.
Share a thought or comment...
Comment 1 of 1

i really like this article please keep it up. watchmovies123

Posted 35 hours ago
 
Write a Comment...
...
Sign in...

If you are a member, Sign In. Or, you can Create a Free account now.


Anonymous Post (text-only, no HTML):

Enter your name and security key.

Your Name:
Security key = P1174A1
Enter key:
KB Post Contributed By Wes Peterson:

Wes Peterson is a Senior Programmer Analyst with Prestwood IT Solutions where he develops custom Windows software and custom websites using .Net and Delphi. When Wes is not coding for clients, he participates in this online community. Prior to his 10-year love-affair with Delphi, he worked with several other tools and databases. Currently he specializes in VS.Net using C# and VB.Net. To Wes, the .NET revolution is as exciting as the birth of Delphi.

Visit Profile

 KB Article #100651 Counter
18335
Since 4/2/2008
-
   Contact Us!
 
Have a question? Need our services? Contact us now.
--Mike Prestwood

Call: 916-726-5675

email: info@prestwood.com


Go ahead!   Use Us! Call: 916-726-5675 


©1995-2018 Prestwood IT Solutions.   [Security & Privacy]