stores@unix.SRI.COM (Matt Mora) (02/24/89)
I am new to programming the mac in pascal and I am trying to
write a pure code resource for a popupmenu for MS QuickBasic in LSP.
I got the fuction to work put i don't know how to pass
the result back to QBasic. i want to pass the menuitem selected
back to basic in the variable result.
They predefined some routines of communicating to pascal.
Below is part of the code.
type
INT16 = Integer; { Shortcut definitions }
.
.
.
LIBARG = record
case INTEGER of
0: (
Descr: SDRECPTR
); { Pointer to the string variable [004] }
1: (
Int: ^INT16
); { Pointer to the integer variable [004] }
2: (
Sngle: ^SINGLE
); { Pointer to the single variable [004] }
3: (
Doble: ^DOUBLE
); { Pointer to the double variable [008] }
4: (
Long: ^INT32
); { Pointer to the long variable [004] }
end;
LIBARGPTR = ^LIBARG;
.
.
.
{ * CALL PopupFontMenu(top%,left%,item,result%) this is the call from QB}
{ *----------------------------------------------------------------------*}
procedure MAIN;
var
tempflag, argtype: INT16;
valptr, result: LIBARGPTR;
theitem: longint;
menu: MenuHandle;
top, left, item,menuItem: integer;
begin
argtype := GetNextLibArg(valptr, tempflag); {his gets the ptr}
top := IntegerArg;
argtype := GetNextLibArg(valptr, tempflag);
left := IntegerArg;
argtype := GetNextLibArg(valptr, tempflag);
item := IntegerArg;
argtype := GetNextLibArg(Result, tempflag);
menuItem := IntegerArg;
menu := NewMenu(1000, 'temp');
AddResMenu(menu, 'FONT');
if Menu <> nil then
begin
InsertMenu(menu, -1);
theitem := PopUpMenuSelect(menu, top, left, item);
disposeMenu(menu);
menuitem := Loword(theItem);
.
.
.
How do i put the value of menuitem into result?
if anyone can help me thanks alot!
matt mora
SRI International