home *** CD-ROM | disk | FTP | other *** search
- HUGEARR.HIS -- History of Public Modifications to HUGEARR.DLL
-
- Microsoft Customer Support uploaded to the MSL a DLL to support huge
- arrays from Visual BASIC v1.0. Because the source was included, and
- no copyright posted, HUGEARR.DLL has a lot of educational potential.
- I found a small bug in HUGEARRY.DLL, or rather an oversight, in that
- HugeUbound was defined as an integer function, thus preventing its
- use on...huge arrays. The bug fix was simple and this ZIP file
- contains the modified files. It occurred to me that there were a
- number of array related functions that might be added to the DLL
- so I started this history file in hopes that modifications could
- be made in one place and re-posted over this file.
- Jonathan Zuck, User Friendly, Inc. 06/26/91
-
-
-
- 06/10/91 Original Files: MS Customer Support
-
- HUGEARR.BAS 05/13/91
- HUGEARR.C 06/10/91
- HUGEARR.DEF 05/09/91
- HUGEARR.DLL 06/10/91
- HUGEARR.H 05/10/91
- HUGEARR.TXT 06/04/91
- MAKEFILE 05/10/91
-
- 06/26/91 HUGEUBOUND now returns LONG User Friendly, Inc.
-
- Changed Files:
-
- HUGEARR.BAS 06/26/91
- HUGEARR.TXT 06/26/91
- HUGEARR.C 06/26/91
- HUGEARR.H 06/26/91
- HUGEARR.DLL 06/26/91
-
- New Files:
-
- History.TXT 06/26/91
-
- Remarks:
- The purpose of HUGEARR.DLL was to support huge arrays. However,
- HugeUbound was defined as an integer function, making it impossible
- to get consistent results when the array had more than 32k elements.
- The changes here are quite simple:
-
- HUGEARR.BAS
- Changed the Declare statment for HugeUbound
- HUGEARR.TXT
- Modified HugeUbound example
- HUGEARR.C
- Changed the function return to LONG
- Changed the ubound variable declaration to LONG
- HUGEARR.H
- Changed the HugeUbound declaration to LONG
- HUGEARR.DLL
- Re-built using NMAKE
-
- ************************************************************************
-
- Date: 12/31/1991
- From: Stephen Schmidt, CompuServe ID 73200,3207
- Subj: HUGEARR V1.2 Modifications to support any integer sized element
-
- VB Users:
- HUGEARR can now store and retrieve individual array elements with lengths
- of between 1 and 32,767 bytes. (It is no longer limited to array elements
- whose size is a power of two.)
-
- C Developers:
- HUGEARR now stores as many elements as possible within each segment of
- memory allocated for the array. Unused space is left at the end of each
- segment so that individual elements will not span multiple segments.
- This should result in less unused space per segment when the element size
- is small, and it relieves the user from having to pad elements so that their
- size is a power of two.
-
- ************************************************************************
-
- Date: 2/22/92
- From: Stephen Schmidt, CompuServe ID 73200,3207
- Subj: HUGEARR V1.3 Modifications to return non-zero array handles
-
- VB Users:
- HUGEARR will no longer return an array handle of zero, so that you can
- store array handles in variables and assume that a handle value of zero does
- NOT refer to a dimensioned array. If you use this approach, and you will be
- erasing and dimensioning arrays using the same array handle variable, then I
- suggest that you set the array handle variable to zero after it's array has
- been erased.
-
- C Developers:
- Within the DLL, handles still range between 0 and MaxNumArrays - 1,
- whereas outside of the DLL, handles range between 1 and MaxNumArrays. The
- array handle is decremented by one at key entry points within the functions.
-
- Also, if the Windows GlobalRealloc() function fails during a call to
- HugeRedim(), HUGEARR will transparently attempt to create a new array and copy
- the elements from the existing array over to it.
-
- ************************************************************************
-
- 02/23/91 HUGESAVE and HUGELOAD added End User Computing Ltd.
-
- Changed Files:
-
- HUGEARR.BAS 02/23/92
- HUGEARR.TXT 02/23/92
- HUGEARR.C 02/23/92
- HUGEARR.H 02/23/92
- HUGEARR.DLL 02/23/92
- HUGEARR.DEF 02/23/92
- HISTORY.TXT 02/23/92
-
- Remarks:
- In order to speed up the saving and loading of Huge Arrays the two
- functions HugeLoad and HugeSave were added.
-
- HUGEARR.BAS
- Added the Declare statments for HugeSave and HugeLoad
- HUGEARR.TXT
- Added HugeSave and HugeLoad examples
- HUGEARR.C
- Added HugeSave and hugeLoad functions
- HUGEARR.H
- Added function prototypes for HugeLoad and HugeSave
- Added constants HA_FILEOPENERROR, HA_FILEREADERROR and
- HA_FILEWRITEERROR
- HUGEARR.DEF
- Added declarations for HugeLoad and HugeSave
- HUGEARR.DLL
- Re-built using MAKE
-
- ************************************************************************
-
- Date: 4/2/92
- From: Stephen Schmidt, CompuServe ID 73200,3207
- Subj: HUGEARR V1.6 Modifications to add multiple-element assignment functions
-
- VB Users:
- Added the VBHugeGetNum which will copy several contiguous elements from a
- huge array into some part of a VB array, and added the related VBHugeSetNum
- function which will copy several contiguous elements from a VB array into a
- huge array. Renamed most of the functions to be more consistent. Merged the
- HugeSave and HugeLoad functions from End User Computing, Ltd.
- I've been using most of the huge array functions within my VB programs
- since I first posted them on CompuServe, and I don't know of any problems.
- Let me know if find any problems--no fixes guaranteed though.
-
- C Developers:
- I changed the program so that it will now compile with only a few warnings
- at level 4, and replaced some of the more redundant blocks of code with C
- preprocessor macros. Most of the exported functions were placed in their own
- source file and segment. THIS FILE was renamed from HISTORY.TXT to HUGEARR.HIS.
- I compiled the DLL to work in non-protected Windows mode also--there may
- be problems when using this DLL in non-protected mode stemming from my
- assumptions about how many elements will fit within a segment--test these
- functions thouroughly before using them in your important non-protected
- applications.
- The DLL was compiled in medium model with Microsoft Quick C for Windows.
-
- ----------
-
- These changes are hereby released into the public domain by Stephen Schmidt.
-
- USERS OF THIS SOFTWARE MUST ACCEPT THIS DISCLAIMER OF WARRANTY: "THIS SOFTWARE
- IS SUPPLIED AS IS. THE AUTHORS DISCLAIM ALL WARRANTIES, EXPRESSED OR IMPLIED,
- INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF MERCHANTABILITY AND OF FITNESS
- FOR ANY PURPOSE. THE AUTHORS ASSUME NO LIABILITY FOR DAMAGES, DIRECT OR
- CONSEQUENTIAL, WHICH MAY RESULT FROM THE USE OF THIS SOFTWARE."
-