Code archives/Miscellaneous/fmc.Application
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
Since 2006-11-06 my modules stored in the code archives are out of synchronization. To have the latest version you need to use the bmk/syncmods utility or the MaxIDE. You need to add "webspace100.we.funpic.de/root/mod" as a new line to "cfg/modservers.cfg" in your BlitzMax installation directory. You can't synchronize with the default BlitzMax 1.22 IDE. If you don't have another IDE, you need to download a tweaked MaxIDE. You need to specify "fmc" as additional module scope. Alternative you can synchronize with the bmk tool: bmk syncmods fmc For a better description see my thread in the programming forum introducing these modules. | |||||
Strict Rem bbdoc:Application EndRem Module fmc.Application ModuleInfo "Version: 0.01" ModuleInfo "Modserver: Fabian" Import brl.linkedlist Import brl.event TApplication.List = CreateList ( ) AddHook EmitEventHook , TApplication.EventHook Rem bbdoc:Abstract application type about: Extend this type to create an application object. EndRem Type TApplication Global List:TList Field Link:TLink Function EventHook:Object ( ID , Data:Object , Context:Object ) Local Event:TEvent = TEvent ( Data ) For Local Application:TApplication = EachIn List Application.OnEvent Event Next Return Data EndFunction Rem bbdoc:An application's event handler about: Overwrite this method to handle events. An event with @id = #brl.event.EVENT_APPTERMINATE and @source = #brl.blitz.Self is posted when #Stop method is called. EndRem Method OnEvent ( Event:TEvent ) EndMethod Rem bbdoc:Init application about: Extend this method to add any start up code needed by the application. EndRem Method New ( ) Link = List.AddLast ( Self ) EndMethod Rem bbdoc:Return whether application is running returns:#brl.blitz.True if application is running, else #brl.blitz.False EndRem Method Running ( ) Return Link <> Null EndMethod Rem bbdoc:Stop application about: This method stops the application. If the application is already stopped this method does nothing. With #Running you can check whether the application has already been stopped or is still running. EndRem Method Stop ( ) If Link TEvent.Create ( EVENT_APPTERMINATE , Self ).Emit Link.Remove Link = Null EndIf EndMethod EndType |
Comments
None.
Code Archives Forum