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