DOCERR: Mixed-Language Examples for Calling Pascal Are IncorrectLast reviewed: July 17, 1997Article ID: Q48251 |
6.00 6.00a 6.00ax 7.00 | 6.00 6.00a | 1.00 1.50
MS-DOS | OS/2 | WINDOWSkbprg kbdocerr The information in this article applies to:
SUMMARYIn the "Microsoft C Advanced Programming Techniques" manual (APT) that shipped with Microsoft C versions 6.0, 6.0a, and 6.0ax, the "Microsoft C/C++ Programming Techniques" manual that shipped with version 7.0, the "Microsoft Mixed-Language Programming Guide" provided with C versions 5.0 and 5.1, MASM versions 5.0 and 5.1, and Pascal version 4.0, there is a sample Pascal module, Pfun, that is incorrect. Pfun can be found in the following locations:
In the APT
In the Programming Techniques manual
In the Mixed-Language Guide
If the Pascal source code shown on these pages is compiled, the following errors occur:
21 7 begin = 22 8 Fact := Fact * n; 8 --------------^Warning 171 Insert ( 8 ----------------^268 Cannot Begin Expression Skipped 8 -------------------^Warning 155 ; Assumed , 8 -------------------^257 Parameter List Size Wrong Begin Ski MORE INFORMATIONTo obtain correctly compiled code, all of the incorrect references to Fact must be removed and replaced by a temporary variable. The following source code contains the necessary changes to the Pfun module so that it will compile and run without any errors: module Pfun; function Fact (n : integer) : integer;{Integer parameters received by value, the Pascal default. }
var temp : integer; begin temp := 1; while n > 0 do begin temp := temp * n; n := n - 1; end; Fact := temp; end;end. Note: There is an incorrect reference to the errors in the Fact function in the Pascal version 4.0 README.DOC file. This correction does not work properly.
|
Additional reference words: 6.00 6.00a 6.00ax 7.00 1.00 1.50
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |