Microsoft KB Archive/107769

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Article ID: 107769

Article Last Modified on 1/8/2003



APPLIES TO

  • Microsoft Visual Basic 3.0 Professional Edition



This article was previously published under Q107769

SYMPTOMS

MSOUTLIN.VBX is the outline custom control file in Visual Basic. An out of memory error can occur with an outline control for the reasons shown in the Cause section below.

CAUSE

An outline custom control can give an out of memory error if it contains more than 6537 items or uses too much string space. Each item cannot exceed 1K.

Each form is limited to a single 64K data segment for all properties of the form and all properties of controls on that form. All data that you add at run time to the outline controls on a form is stored in this same, shared 64K data segment. String space for outline controls will thus be limited by memory used by other controls on that form.

If the out of memory error occurs at design time instead of run time, you may be running into a code size limitation.

STATUS

This behavior is by design.

MORE INFORMATION

The size allowed for the List property of an outline control is smaller than for the following controls that store data in separate segments of memory:

  • The List property of a combo box control or list box control.
  • The Text property of a text box control that has the MultiLine property set to True.

Steps to Reproduce Behavior

  1. If the MSOUTLIN.VBX custom control file is not already loaded in Visual Basic, choose Add File from the File menu to load it.
  2. Add three outline controls to Form1.
  3. Design the program to fill up the controls with 300 outline records of 60 bytes each at run time. Use the AddItem method to add records.
  4. Start the program.

A customer reported an out of memory error while populating the third control with the 200th item. The point at which you receive an error will depend upon the memory usage of other controls on the form.

REFERENCES

- "Visual Basic 3.0: Programmer's Guide," pages 641-642 of "Appendix D: Specifications and Limitations."


Additional query words: 3.00

Keywords: kbprb KB107769