Microsoft KB Archive/94778

= BUG: Illegal function call / Division By Zero Errors =

Article ID: 94778

Article Last Modified on 8/16/2005

-

APPLIES TO


 * Microsoft Visual Basic 2.0 Standard Edition
 * Microsoft Visual Basic 3.0 Professional Edition
 * Microsoft Visual Basic 2.0 Professional Edition
 * Microsoft Visual Basic 3.0 Professional Edition
 * Microsoft Visual Basic 1.0 Standard Edition
 * Microsoft Visual Basic for MS-DOS
 * Microsoft BASIC Professional Development System 7.0
 * Microsoft Cinemania 97 Standard Edition

-



This article was previously published under Q94778



SYMPTOMS
Certain complex numeric expressions may incorrectly cause &quot;Illegal function call&quot; or &quot;Division by zero&quot; errors when run in the interpreter environment of the above mentioned Basic products. This problem only happens on computers that have a math coprocessor.

These errors, however, do not occur with programs compiled using the BC.EXE compiler included with Microsoft Basic Professional Development System for MS-DOS, version 7.1 and the Standard and Professional Editions of Microsoft Visual Basic for MS-DOS, version 1.0



STATUS
Microsoft has confirmed this to be a bug with the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.



MORE INFORMATION
To work around this problem, do one of the following:


 * Break the complex equation into smaller parts that are evaluated separately.
 * Turn off use of the coprocessor with SET NO87=x at the DOS prompt (PDS and Visual Basic for MS-DOS only).
 * Compile using the alternate math (/FPa) option (PDS and the Professional Version of Visual Basic for MS-DOS only).

The following code reproduces the &quot;Illegal Function Call&quot; error on a computer that has a coprocessor: test = 1 + (1 + 1 * (1 * (1 + 1 ^ 1))) The following code reproduces the &quot;Division by zero&quot; error on a computer that has coprocessor: test = 1 + (1 - 1 * (1 + 1 / 1 ^ 1)) These are not the only expressions that cause the problem.

Additional query words: buglist1.00 buglist2.00 buglist7.10 buglist3.00 2.00 3.00 7.10

Keywords: kbbug KB94778

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.