Thoughts from Dan Miser RSS 2.0
# Monday, June 13, 2005
With apologies to Edsger Dijkstra, I bring you a much smaller treatise on the benefits of using Range Checking. As many of you are aware from previous entries on the topic, I have been dealing with issues relating to the PopupMode off and on for a while now. I went back to the drawing board on the problem I talked about where using API subclassing to intercept paint messages for all components on a screen was broken due to PopupMode. I rewrote my component to use VCL subclassing (i.e. assign a procedure to the WindowsProc property), and things are much better (after much trial and tribulation). Part of the trials and tribulations I was having were due to accessing a dynamic array beyond the bounds of the array. It was resulting in 'Invalid Pointer Operation" error messages when shutting down the application. Debugging didn't reveal much interesting, and not much to chase further either. However, I realized I didn't have Range Checking or Overflow Checking turned on in my project. Turning these options on and running again showed me immediately where the code was broken, and allowed me to fix the problem quickly. Without this check, I was overwriting some memory and this resulted in the Invalid Pointer error later on.

So, long story, short: Range Checking can help you quite a bit during development. I don't necessarily advocate leaving it on for production code, though.

Monday, June 13, 2005 1:40:00 PM (Central Daylight Time, UTC-05:00)  #    Comments [3] -

Tracked by:
http://9ow-information.info/18180573/index.html [Pingback]
http://9ok-information.info/73550371/heavy-equipment-operator-in-pipeline.html [Pingback]
http://9oe-information.info/75083479/index.html [Pingback]
http://9qg-information.info/79281592/index.html [Pingback]
http://9qc-information.info/10624034/catalogo-2006-scheda-telefonica.html [Pingback]
http://9op-information.info/98214775/index.html [Pingback]
http://9om-information.info/61363037/index.html [Pingback]
http://9rt-information.info/05567137/marriage-or-dating.html [Pingback]
http://9re-information.info/33118569/index.html [Pingback]
http://9st-information.info/65107139/electronic-stores.html [Pingback]
http://9sj-information.info/00363311/index.html [Pingback]
http://9sf-information.info/95834691/x-series.html [Pingback]
http://9rw-information.info/92338876/clr-dice-game.html [Pingback]
http://9uaea-le-informazioni.info/94540496/index.html [Pingback]
http://9uafa-le-informazioni.info/20823030/index.html [Pingback]
http://9uafk-le-informazioni.info/62032476/presidente-confindustria.html [Pingback]
http://9uaeh-le-informazioni.info/51037766/w-ipse-com.html [Pingback]
http://9uaed-le-informazioni.info/14013798/female-singer.html [Pingback]
http://9uafr-le-informazioni.info/15077278/hamlet-firewire.html [Pingback]
http://9uaen-le-informazioni.info/90637037/la-lettera-finanziaria.html [Pingback]
http://9uaet-le-informazioni.info/48592886/index.html [Pingback]
http://9uagk-le-informazioni.info/42490252/index.html [Pingback]
http://9uaht-le-informazioni.info/45049463/troia-negra.html [Pingback]
http://9uagj-le-informazioni.info/03709272/index.html [Pingback]
http://9uahf-le-informazioni.info/71647537/index.html [Pingback]
http://9uagi-le-informazioni.info/91381690/index.html [Pingback]
http://9uahb-le-informazioni.info/11684382/index.html [Pingback]
http://9uagd-le-informazioni.info/80584786/carta-duel-master.html [Pingback]
http://9uagb-le-informazioni.info/41114844/crash-test-alfa.html [Pingback]
Navigation
Archive
<February 2012>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2012
Dan Miser
Sign In
Statistics
Total Posts: 375
This Year: 3
This Month: 0
This Week: 0
Comments: 654
Themes
Pick a theme:
All Content © 2012, Dan Miser
DasBlog theme 'Business' created by Christoph De Baene (delarou)