` Printed Icetips Article

Icetips Article



Par2: Thread limiter template
1998-05-08 -- Jim DeFabia
 
Here it is!

(watch out for any word-wrapping)

#TEMPLATE(ThreadLimiter,' Thread Limiter '),FAMILY('ABC')
#!----------------------------------------------------------------
#! Thread Limiter
#! By Jim DeFabia (EMAIL: jim-d@topspeed.com)
#!
#! Please Do Not redistribute without permission from Author
#!---------------------------------------------------------------
#EXTENSION(LimitStarts,'Limit Procedure to One Start'),PROCEDURE
#AT(%GlobalData)
GLO:RUNNING:%Procedure     BYTE
#ENDAT
#LOCALDATA
LOC:RUNNING     BYTE
#ENDLOCALDATA
#AT(%WindowManagerMethodCodeSection,'Init','(),BYTE'),FIRST
IF GlobalRequest <>  SelectRecord
  IF NOT GLO:RUNNING:%Procedure
    GLO:RUNNING:%Procedure=THREAD()
    LOC:RUNNING= GLO:RUNNING:%Procedure
  ELSE
    POST(EVENT:GainFocus,,GLO:RUNNING:%Procedure)
    RETURN(Level:Fatal)
  END
END
#ENDAT
#AT (%WindowEventHandling,'GainFocus'),FIRST
%window{PROP:Active}=TRUE
IF %window{PROP:Iconize}=TRUE
  %window{PROP:Iconize}=''
END
#ENDAT
#AT(%WindowManagerMethodCodeSection,'Kill','(),BYTE'),LAST
IF LOC:RUNNING
  GLO:RUNNING:%Procedure=0
END
#ENDAT



Printed May 6, 2024, 3:08 am
This article has been viewed/printed 35116 times.