home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-08-04 | 1.0 KB | 55 lines | [TEXT/PJMM] |
- unit MyEmergencyNotifier;
-
- interface
-
- uses
- Types;
-
- procedure EmergencyNotify (s: str255);
-
- implementation
-
- uses
- Notification,Memory;
-
- const
- T_NMInstall = $A05E;
- T_Unimplemented = $A89F;
-
- type
- NMRecPtrPtr = ^NMRecPtr;
-
- {$S Util}
- procedure EmergencyNotify (s: str255);
- var
- oe: OSErr;
- note: NMRecPtr;
- begin
- if NGetTrapAddress(T_NMInstall, OSTrap) = NGetTrapAddress(T_Unimplemented, ToolTrap) then begin
- SysBeep(1); { Best we can do I guess. Could put up the dialog box maybe?...}
- end
- else begin
- note := NMRecPtr(NewPtrSys(sizeof(NMRec)));
- if note = nil then begin
- SysBeep(1); { Can't do much else if there isnt even room for this! }
- end
- else begin
- with note^ do begin
- qType := nmType;
- nmMark := 0;
- nmStr := StringPtr(NewPtrSys(length(s) + 1));
- BlockMove(@s,ptr(nmStr),length(s)+1);
- nmIcon := nil;
- nmSound := nil;
- nmResp := nil;
- end;
- oe := NMInstall(note);
- if oe <> noErr then begin
- SysBeep(1);
- end;
- end;
- end;
- end;
-
-
- end.