dwayne@rover.bsd.uchicago.edu (08/25/89)
Hey!!!! Does any know the appropriate calling mechanism for an ast parameter. I'm declaring the thing like this: [ASYNCHRONOUS] PROCEDURE uis$set_pointer_ast ( VD_ID0 : UNSIGNED; WD_ID0 : UNSIGNED; %IMMED [UNBOUND, ASYNCHRONOUS] PROCEDURE ASTADR; ASTPRM : UNSIGNED; X1 : SINGLE; Y1 : SINGLE; X2 : SINGLE; Y2 : SINGLE; %IMMED [UNBOUND, ASYNCHRONOUS] PROCEDURE EXITASTADR; EXITASTPRM : UNSIGNED); EXTERNAL; I'm declaring my ast's like this: [unbound,ASYNCHRONOUS] PROCEDURE ENT_MENU_AST(slot:integer); BEGIN uis$text (VD_ID,1,ITEMS[SLOT],LOCX[SLOT],LOCY[SLOT]); END; [unbound,ASYNCHRONOUS] PROCEDURE EXIT_MENU_AST(slot:integer); BEGIN uis$text (VD_ID,0,ITEMS[SLOT],LOCX[SLOT],LOCY[SLOT]); END; and i'm calling the thing like this: FOR X:=1 TO NUMITEMS DO BEGIN LOCX[X]:=0.1; LOCY[X]:=(NUMITEMS-X+0.8)/NUMITEMS; uis$text (VD_ID,0,ITEMS[X],LOCX[X],LOCY[X]); uis$set_pointer_ast (VD_ID,WD_ID,ENT_MENU_AST,X, 0.0,(NUMITEMS-X+1.0)/NUMITEMS,1.0,(NUMITEMS-X)*1.0/NUMITEMS,EXIT_MENU_AST,X); END; I want to pass the value of x back for whichever AST get's answered. Does any one know what I'm doing wrong?? I get this at compile time, and the debugger verifies that the asts are not getting their parameters: 00157 1 2 uis$set_pointer_ast (VD_ID,WD_ID,ENT_MENU_AST,(X),0.0,(NUMITEMS-X+1.0)/NUMITEMS,1.0,(NUMITEMS-X)*1.0 /NUMITEMS,EXIT_MENU_AST,(X)); 1 2 %PASCAL-I-NOFRMINDECL, (1) Declaration of PROCEDURE parameter ASTADR supplied no formal parameter list %PASCAL-I-NOFRMINDECL, (2) Declaration of PROCEDURE parameter EXITASTADR supplied no formal parameter list %PASCAL-S-ENDDIAGS, PASCAL completed with 2 diagnostics Thanks for any help anyone has!! Dwayne dwayne@rover.bsd.uchicago.edu