Intel didn’t write the Delphi memory manager.  And in any event, the list index 
out of bounds error triggered by storing -1 in the item data of a list/combobox 
item had NOTHING what-so-ever to do with the implementation of ANY memory 
manager or any changes in any memory manager.

 

I don’t recall suggesting that you or anyone else modify the VCL itself.  You 
could work around the bug in the VCL by providing your own routines for 
retrieving item data values from a list/combo box that bypassed the erroneous 
VCL code, and again, routines for achieving precisely this were provided among 
the numerous responses that you didn’t wade through.

 

And to be honest, no it did not occur to me that you “knew what you were 
doing”, for the simple reason that you yourself seemed unclear as to the 
problem you thought you were solving (and still seem insistent that it was 
somehow something to do with an Intel memory manager).  But even if you did 
know what you were doing at the time and had simply forgotten – which I do not 
discount; I forget things myself from time to time - someone reading your post 
would not have understood why your solution worked from the information in your 
post alone, hence I thought it useful to provide that explanation.

 

 

Forgive me for trying to be helpful.  I do not see perpetuating an incorrect 
explanation (by failing to correct errors in it) for an issue for which the 
actual explanation is known and easily understood as being helpful.  That is 
not a criticism of your post, which I am sure itself was also intended to be 
helpful.  It is my explaining the reason I felt it helpful to provide some 
correction and additional insight.

 

Regards,

 

Jolyon

 

 

 

 

 

From: delphi-boun...@delphi.org.nz [mailto:delphi-boun...@delphi.org.nz] On 
Behalf Of Rohit Gupta
Sent: Wednesday, 24 February 2010 11:15 a.m.
To: NZ Borland Developers Group - Delphi List
Subject: Re: [DUG] Is it a bug in latest version of Delphi? - Solution

 

Jolyon,

As I mentioned I was reporting on things 7 years old, with failing memory quite 
common to my  age.  

And I am not going to spend the time searching for it to prove you right or 
wrong.  Again, from memory, Intel was changing the design of the memory manager 
which was going to mean that  a better definition of the null pointer would be  
ffffffffff...  What happened with that, I do not know or care.

As for the rest, please pretend you are hearing the stereotypical Indian voice.

"Oh my golly gosh, thank you for clarifying that sir.  I must have spent months 
trying a billion solutions before I must have accidentally found the X2."

Did it not occur to you, that it works because I knew what I was doing....  :-) 
 And before you retort, I do not modify the vcl for any reason as it could lead 
to problems when using bpls on a clients machine where they already exist from 
some other application.

Rohit


Jolyon Smith wrote: 

There was no change in the “Windows standard”.  It’s a simple error in some 
poorly implemented error handling code added to the VCL at some point 
(subsequently fixed in combo boxes, but not listboxes – as of D2006).

 

You needn’t have waded through all the replies to find that the answer was 
provided.  The answer came very quickly… what then followed was a great deal of 
pointless and diverting/misleading speculation as to other possible 
explanations that disregarded the fact that the answer was very quickly 
apparent from an inspection of the VCL source.

 

 

FYI - Your “multiple by 2” solution worked because it transformed a stored 
value of “-1” into “-2”, which then avoided the collision between that value 
(-1) and the Windows “error” code and thus avoided the problem caused by the 
overly-helpful and incorrectly implemented error handling code in the VCL.

 

 

_______________________________________________
NZ Borland Developers Group - Delphi mailing list
Post: delphi@delphi.org.nz
Admin: http://delphi.org.nz/mailman/listinfo/delphi
Unsubscribe: send an email to delphi-requ...@delphi.org.nz with Subject: 
unsubscribe

Reply via email to