BBS: Inland Empire Archive Date: 11-19-92 (01:39) Number: 312 From: RAYMOND KEITH Refer#: NONE To: MICHAEL BAILEY Recvd: NO Subj: Re: Variable Sharing in Q Conf: (2) Quik_Bas
> Anyone know what I'm doing wrong, or am I trying to handle this separate > module situation incorrectly? There are two ways to compile a program... (1) EXE requiring the BRUN45.EXE runtime module. (2) Stand-alone EXE file. See your manuals for details but in short, common shared variables are passed when chaining under compile method 1, and are NOT passed when your program is compiled as a stand alone .EXE as in method 2. Note: See my QB bug msg below regarding common shared. I think the stand alone method is preferable. Here are 4 ways to work around it... (1) Save the variables to a file(s) and have the chained programs read them. (2) Purchase BASIC 7.1 PDS. It supports overlays which is preferable to chaining in most cases. It also supports EMS memory. Such a sizable program as yours would no doubt benifit from the big guns version of QuickBasic. (3) If you don't have to pass a lot of data, there is some RAM available in the host display area. It's in the area reserved for text screen data. A text screen takes up 4,000 bytes but 4,096 bytes are reserved for each page. Thus 96 bytes X number of text screen pages is available. I just read about this little trick. I would guess that area would be cleared upon chaining, but the trick specificly mentioned it as a way to pass values to a chained program compiled as a stand alone. (4) Crescent Software's QuickPak Professional programming library supports passing large amounts of data between chained programs using EMS memory routines. I think you will find buying BASIC 7.1 PDS the most attractive and useful option. You and I are basicly hacking at the same type of program. Mine is made up of 26 seperate modules, quite large. The tools I have picked up to accomplish such a task are... Software Tools --------------------------------------------- ------------------------------- (1) BASIC 7.1 PDS (2) QuickPak Professional by Crescent Software (general programming library) (3) Graphics Workshop by Crescent Software (great for graphics mode, a must) (4) MASM 6.0 This assembler package is nice and at $125 well worth the price. If your not familar with assembly, don't let it scare you off. You would be surprised how easy it really is to supercharge sections of your program with assembly. (5) Publishers Paintbrush (Windows Version) For designing my VGA 640x480x16 color windows. (6) Microsoft Paint (old dos version) For converting 256 color .PCX into 16 color .PCX. Reference Manuals
-- (1) Of course the various MS manuals, for what use they are. (2) Programmers Guide to the EGA and VGA cards, second edition. Addison- Wesley publishing. Author: Richard F. Ferraro (3) PC Interrupts a programmers ref to Bios, Dos, and third party calls. Publisher: Addison-Wesley Authors: Ralf Brown and Jim Kyle (4) Microsoft Macro Assembler Bible Publisher: The Waite Group Authors: Nabajyoti Barkakati and Randall Hyde. (5) MS-Dos 5 Programming Publisher: Microsoft Press Author: Peter Aitken (6) Microsoft Mouse programmers reference Publisher: Microsoft Press (7) Basic Techniques and utilities Publisher: Ziff Davis Press Author Ethan Winer. This book comes with a disk and is OUTSTANDING!!! Don't let the title fool you. See my next msg to all regarding this book. COMMON SHARED BUG NOTE: Just a note here on a bug I found a while back. It can be a tough one to figure out. It involves of course the use of common shared statements. If ALL the common shared lines which are in your main module are NOT included in ALL of your other modules, and if you have experienced seemingly random lockups of your computer, this bug is zapping you. If this is the case, let me know and I will describe the bug in detail so you can test for it's ocurrance and fix it. It is not a random bug and can be created over and over consistantly. It's random appearance is because it occurs under odd but not infrequent conditions. For me, I was working on a secondary module and this bug cropped up every now and then. I started work on another secondary module and it really got bad, locked every time I turned around. Then I began working on the main module again and it disapeard for a couple weeks. When I begain working on a secondary module again, it started locking up again. This gave me enough clues to track it down. Well gota run, Raymond --- DB 1.37/003468 * Origin: Real Estate N.W. BBS Files,Doors,(503)654-5054 24hrs (1:105/224)
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