BBS: Inland Empire Archive Date: 06-02-92 (21:08) Number: 109 From: MATT HART Refer#: NONE To: ZACK JONES Recvd: NO Subj: Binary File Copying Conf: (2) Quik_Bas
>> relation to the DOS buffers. Using REDIM rather than DIM will >> place Transfer into Far Memory rather than Dgroup, and using the ZJ> subject. I've captured it and will implement it - one day I'll ZJ> understand it! As always, thanks for the assist! Most welcome. Let's see if I can clarify some things. QB 4.5 and PDS Near Strings split system memory into 3 parts: Code space (for your EXE code), Data Group (Dgroup), and the far heap. Code space is the amount your .EXE code PLUS any run- time library needs from DOS. Dgroup is a single 64K DOS segment, and the far heap is everything that is left. Dgroup is where everything except: EXE code TYPE Arrays (REDIM) Numeric Arrays (int, single, long, etc...) (REDIM) Fixed length string arrays (REDIM) is held. Variable length string and string arrays, simple numeric variables (non-arrays), TYPE definitions, fixed length non-array (DIM A AS STRING * 10), TYPE simple variables (DIM A AS MyType), and lots of other junk is held. If you don't do a '$DYNAMIC or a REDIM, stuff you expect to be in the far heap will be put into dgroup. I always use REDIM and '$DYNAMIC to be safe. Dgroup, since it is only 64K, can fill up fast. If you use multiple CALLs and GOSUBs and FUNCTIONs nested within each other, they all take up stack space. When you use LINK, you can increase the stack space, but it steals from Dgroup to do it. Most of my programs end up with 25K or so of dgroup left. But a couple of really huge ones only have 10K or less. And there are things I'm going to have to add! --- * Origin: Midnight Micro! V.32/REL (918)451-3306 (1:170/600)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET