matherr@cs.glasgow.ac.uk (Ross M Mather) (03/16/90)
Can anyone tell me why the following happens when I added the following chunk of
code to my program recently:
What happens is that after running and examining all the About box then quitting
If I modify any part of the program and run it (in Think Pascal) it will start
to compile the altered unit and will hang. (No system error, just no mouse
movement)
The effect is unrecreatable using a built application.
Any suggestions welcome
Ta Much
Ross
procedure DoCredits;
const
CreditsBox = 129;
FirstCredits = 151;
SecondCredits = 152;
AbandonItem = 1;
Credits = 2;
theSound = 129;
var
theBox: DialogPtr;
hit: integer;
curr: integer;
itemType: integer;
itemHandle: Handle;
itemBox: Rect;
thePic: PicHandle;
otherPort: GrafPtr;
begin
GetPort(otherPort);
curr := SecondCredits;
theBox := GetNewDialog(CreditsBox, nil, pointer(-1));
SetPort(theBox);
GetDItem(theBox, Credits, itemType, itemHandle, itemBox);
Hit := Credits;
repeat
if Hit = Credits then
begin
if curr = FirstCredits then
curr := SecondCredits
else
curr := FirstCredits;
thePic := GetPicture(curr);
EraseRect(itemBox);
DrawPicture(thePic, itemBox);
end;
ModalDialog(nil, Hit);
until Hit = AbandonItem;
DisposDialog(theBox);
SetPort(otherPort);
end;
{Handle everyting to do with displaying the about box}
procedure DoAbout;
const
AboutBox = 128;
OKItem = 2;
IconItem = 1;
var
AboutBoxPtr: DialogPtr;
Hit: integer;
SavePort: grafPtr;
begin
GetPort(SavePort);
AboutBoxPtr := GetNewDialog(AboutBox, nil, pointer(-1));
SetPort(AboutBoxPtr);
repeat
ModalDialog(nil, Hit);
if Hit = IconItem then
DoCredits;
until Hit = OKItem;
DisposDialog(AboutBoxPtr);
SetPort(SavePort);
end;
end.
--
* USEnet : matherr!glasgow!mcsun!... | Senior Honours,Comp. Sci. Dept. *
* ARPAnet : matherr@cs.glasgow.ac.uk | University Of Glasgow, Scotland. *
* From USA : matherr%cs.glasgow.ac.uk@nsfnet-relay.ac.uk *
* If I hadn't want it heard I wouldn't have said it - Klingon Proverb *