sonenbli@oxy.edu (Andrew D. Sonenblick) (12/01/89)
ok, I'll probably be flamed, but when I distribute my beta versions to people to test it and when it's a version that as yet does not work properly/at all under MultiFinder, I simply check to see whether the next to last item in the apple menu is a dotted line... (after all, I don't know of any program in the past 6 years that ever had a line there except MF) and if so I kindly alert the user that their mac will self destruct, just kidding, I tell them that I'm MF unfriendly and then close myself...
mm3d+@andrew.cmu.edu (Matt McNally) (12/01/89)
For those of you who don't have access to the "Programmers Guide
To MultiFinder" here are some MPW Pascal Code segments that will
check for the existance of MF functionality and a few simple
functions that use them. These were basically extracted from some
examples found in the aforementioned 'Guide'.
Hope they help.
-Matt
------
Function TrapAvailable(trapNum:Integer; tType: TrapType):Boolean;
{ *** TrapAvailable ***: This routine verifies the existance of a 'trap'. }
Const
BadTrap = $A89F;
Begin
TrapAvailable := (NGetTrapAddress(trapNum,tType) <>
GetTrapAddress(BadTrap));
End; { ~ of Function TrapAvailable }
Function MFMemIsAvail:Boolean;
{ *** MFMemIsAvail ***: This function returns true if MF Memory Calls are
available. Note: No need to check for seperate trap
tables since memory calls are OS Traps. }
Const
MemTrap = $A88F;
Begin
MFMemIsAvail:= TrapAvailable(MemTrap,ToolTrap);
End; { ~ of Function MFMemIsAvail }
Function WNEIsAvail:Boolean;
{ *** WNEIsAvail ***: Returns true if WaitNextEvent() is available.}
Const
WNEvtTrap = $A860;
Var
tmpErr: OSErr;
tmpEnv: SysEnvRec;
Begin
tmpErr:=SysEnvirons(1,tmpEnv);
if tmpEnv.machineType<0 Then
WNEIsAvail:=False
Else
WNEIsAvail:=TrapAvailable(WNEvtTrap, ToolTrap);
End; { ~ of Function WNEIsAvail}
Function MacMemTotal:Integer;
{ *** MacMemTotal ***: Returns the total memory (in K ) available on the
machine, NOT the total available to the application.}
Begin
If MFMemIsAvail then
MacMemTotal:=(Ord4(MFTopMem) div 1024)
Else
MacMemTotal:=(Ord4(TopMem) div 1024);
End; { ~ of Function MacMemTotal}
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Matt M. McNally - 'Macintosh II Project' Research Programmer/Dugan
Carnegie Mellon, H&SS Dean's Office, Pittsburgh, PA 15213
Office: Baker Hall 369-B, (412) 268-6990
ARPANET Address: mm3d@andrew.cmu.edu
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
keith@Apple.COM (Keith Rollin) (12/02/89)
In article <64583@tiger.oxy.edu> sonenbli@oxy.edu (Andrew D. Sonenblick) writes: >ok, I'll probably be flamed, but when I distribute my beta versions to >people to test it and when it's a version that as yet does not work >properly/at all under MultiFinder, I simply check to see whether the >next to last item in the apple menu is a dotted line... (after all, I don't >know of any program in the past 6 years that ever had a line there except >MF) and if so I kindly alert the user that their mac will self destruct, >just kidding, I tell them that I'm MF unfriendly and then close myself... What if this dotted line isn't there in the future? What if the "About Multi- Finder" stuff is incorporated into the normal "About Finder" menu item, or removed altogether? (Consider the chances of this rather high.) Answer: you die... -- ------------------------------------------------------------------------------ Keith Rollin --- Apple Computer, Inc. --- Developer Technical Support INTERNET: keith@apple.com UUCP: {decwrl, hoptoad, nsc, sun, amdahl}!apple!keith "Argue for your Apple, and sure enough, it's yours" - Keith Rollin, Contusions