
Registering without NewtApp
InstallScript is not copied to memory before execution. The problem, then, is to make sure that the dataDef symbol does get copied to memory (we'll use EnsureInternal for that). Here's an example InstallScript and RemoveScript that install and uninstall one dataDef and two viewDefs:
constant kDataDefSym := '|DataDef:Calliope|; constant kViewDef1Sym := 'default; constant kViewDef2Sym := 'another; InstallScript := func(partFrame, removeFrame) begin
local dataDefSym :=
EnsureInternal(kDataDefSym);
RegDataDef(dataDefSym, GetLayout("dataDef.t"));
RegisterViewDef(GetLayout("viewDef1.t"),
dataDefSym);
RegisterViewDef(GetLayout("viewDef2.t"),
dataDefSym);
end;
RemoveScript := func(removeFrame)
begin
UnRegisterViewDef(kViewDef1Sym, kDataDefSym);
UnRegisterViewDef(kViewDef2Sym, kDataDefSym);
UnRegDataDef(kDataDefSym);
end
An online version of Programming for the Newton using Macintosh, 2nd ed. ©1996, 1994, Julie McKeehan and Neil Rhodes.
Last modified: 1 DEC 1996