BUG: M6101 Drawing a Line Outside Screen Coordinates (118815)
The information in this article applies to:
- Microsoft FORTRAN PowerStation for MS-DOS 1.0
- Microsoft FORTRAN PowerStation for MS-DOS 1.0a
This article was previously published under Q118815 SYMPTOMS
When a program draws a line with an endpoint outside the screen
coordinates, the line is not clipped and the following error message is
generated:
run-time error M6101: MATH
- floating-point error: invalid
CAUSE
The limit seems to be related to converting to an int. In the sample code
below, the extent of X in the window coordinates is 1.0, the screen
coordinate is 639, and the line is drawn to 51.28. For example:
639 * 51.28 / 1.0 = 32,767.92 > 32,767
In the preceding example, a line drawn to 51.27 succeeds (639 * 51.27 / 1.0
= 32,761.53 < 32,767).
RESOLUTION
Do not draw outside the screen coordinates. Clip the endpoints of lines
before calling the LINETO_W routine. If you clip to values within 10 times
the size of the window, the code should work in any resolution.
STATUS
Microsoft has confirmed this to be a bug with Microsoft FORTRAN
PowerStation for MS-DOS, versions 1.0 and 1.0a.
Modification Type: | Major | Last Reviewed: | 10/2/2003 |
---|
Keywords: | KB118815 |
---|
|