BBS: Inland Empire Archive Date: 04-01-92 (22:32) Number: 111 From: JEAN CREPEAU Refer#: NONE To: MICHAEL ORCHEKOWSKI Recvd: NO Subj: Call Absolute Help Conf: (2) Quik_Bas
In a message to ALL, MICHAEL ORCHEKOWSKI wrote:
MO=> While compiling a VERY large source program, I ran across these
error(s). I used the following compile syntax:
MO=> BC /W /X /V /E QFILE.BAS;
MO=> And this is the result:
MO=> Microsoft (R) QuickBASIC Compiler Version 4.50 (C) Copyright Microsoft
Corporation 1982-1988. All rights reserved. Simultaneously published in
the U.S. and Canada. 1592 25D0
UpdateCtrlValue _ "FldBdr", EITHER(FrmTbl(f).Hgt > 1, TRUE, FALSE)
_ ^ Parameter type
m i s m a t c h 1 D F E 2 5 D 0
UpdateCtrlValue _ "Check1", EITHER(FldTbl(f).Fmt AND 1, TRUE, FALSE)
_ ^ Parameter type
m i s m a t c h 1 E 4 F 2 5 D 0
UpdateCtrlValue _ "Check2", EITHER(FldTbl(f).Fmt AND 2, TRUE, FALSE)
_ ^ Parameter type
mismatch
MO=> Out of memory
MO=> 43933 Bytes Available 0 Bytes Free
MO=> 0 Warning Error(s) 4 Severe Error(s)
The Parameter type mismatch happens when you specify an argument of
a wrong type. I don't see the entire line (which would have been useful),
but the problem seems to come from your function EITHER. The Parameter type
mismatch happens right after the variable (or constant) FALSE all the time.
So I would say that the type of FALSE is wrong... Probably it's an INTEGER
type and your program intended to get a SINGLE or something else. Check def
DECLARER FUNCTION EITHER and the type of FALSE.
How to correct that? You can change either type, or use one the the
conversion functions, ie. CINT, CLNG, CSNG or CDBL. Just ask if you need
more information about these functions.
And the worst is that you run out of memory!!! That means your
symbol table is full! To correct that, use the /S option (that will write
the string constants in the .OBJ file instead of in the symbol table...).
The other way to correct that, is to split your program into many modules.
You put the subroutines/functions in a or many different .BAS files. you
compile all your .BAS files into multiple .OBJ files and then, with the
linker, you link all the .OBJ files into a single .EXE file. Your program
will be much easier to read, and debug!
Jean
---
* Origin: INTERACESS Montreal (QC) Canada (514) 528-1415 (1:167/280)

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