🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.atari.st
Article #30773

Re: Closing desk accessories

#30773
From: Allan Pratt
Date: Tue, 23 Feb 1988 18:57
36 lines
2389 bytes
in article <8802210020416D5.BLBS@Mars.UCC.UMass.EDU>, Gribnif@umass (Dan Wilga at UMASS Amherst) says:
> 
> Greetings!
> 
> Is there some way to actually "tell" desk accessories that are currectly
> opened within an application to close? I am writing a program that uses
> Pexec() to call other programs, but the problem I am running into is that
> any DA's that occupy windows and are left open when my program executes
> another do not receive the AC_CLOSE message and so do not know they should
> be closed. Of course, I cannot simply close their windows for them; that
> only messes them up. Pterm() somehow does this for itself since it
> automagically sends the correct message when the application terminates.
> shel_write() also seems to suffer from this same problem. Is there any
> good solution, short of hacking-into the OS?

I think you hit on the solution without knowing it: closing their
windows doesn't pay, but you can SEND THEM the AC_CLOSE message (I
think).  Check the message library for "send a process a message" and
check the application library for "get ap_id for an accessory" (I don't
really know that much AES).  Then send the accessory the close message. 
Sending it wind_close is usually enough, since (like the Control Panel)
clicking "close" in the window usually shuts down the accessory as well. 

Failing that, you could try the opposite of app_init -- I forget its
name -- because I think it's that call which closes accessories, not
Pterm().  Pterm() doesn't know a thing about accessories, or AES, or
anything at that level.  So try app_deinit before the Pexec and app_init
after it.  (Remember that your window handles might be different after
the new init...  They probably won't be, but write your code as though
they might be.)

Like I said, I don't know much about AES -- don't take this as Gospel.

============================================
Opinions expressed above do not necessarily	-- Allan Pratt, Atari Corp.
reflect those of Atari Corp. or anyone else.	  ...ames!atari!apratt
Technical Details
Message-ID: <988@atari.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!portal!atari!apratt
References: <8802210020416D5.BLBS@Mars.UCC.UMass.EDU>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!portal!atari!apratt
From: apratt@atari.UUCP (Allan Pratt)
Newsgroups: comp.sys.atari.st
Subject: Re: Closing desk accessories
Message-ID: <988@atari.UUCP>
Date: 23 Feb 88 18:57:28 GMT
References: <8802210020416D5.BLBS@Mars.UCC.UMass.EDU>
Organization: Atari Corp., Sunnyvale CA
Lines: 36