[progress Communities] [progress Openedge Abl] Forum Post: Re: Issue With List Collection

  • Thread starter Thread starter Håvard Danielsen
  • Start date Start date
Status
Not open for further replies.
H

Håvard Danielsen

Guest
Yes, this is very likely what happened. As far as I can see the bug also exists in AddAll(seq as int,c as ICollection) and AddArray(seq as int, obj as Object extent) . Add(obj as Object ) avoids the problem by calling findfBufferUseObject. This is of course also a method with global scope, but in this case this is the sole purpose of the method and the name reflect the behavior. It is also a protected method. How to scope temp-tables in procedures or classes is both a difficult and interesting subject. As you point out there are certain types of objects where this makes sense. This is probably not one of those cases. There are few or no benefits from keeping the temp-table available between the public operations. But I also think that sub-classes should be able to share scope with the super class. Having to execute a find after the call to super:add is a bit ugly and probably also expensive (in percentage). Maybe some dedicated internal addBufferUseObject method is the solution. (This should probably exist also in the sub-classes) We need to look into the ABLUnit product that you mention. A test suite for ABL objects would be extremely useful for these classes that have so many use cases. The fact that they are used at run-time means they need to be tested as thoroughly as the language itself.

Continue reading...
 
Status
Not open for further replies.
Back
Top