File: statbar.sra
Size: 2202
Date: Thu, 14 Jul 2022 19:33:46 +0200
$PBExportHeader$statbar.sra
forward
global type statbar from application
end type
global transaction sqlca
global dynamicdescriptionarea sqlda
global dynamicstagingarea sqlsa
global error error
global message message
end forward

global variables
w_main gw_frame

end variables

global type statbar from application
string appname = "statbar"
string themepath = "C:\Program Files (x86)\Appeon\PowerBuilder 22.0\IDE\theme"
string themename = "Do Not Use Themes"
boolean nativepdfvalid = false
boolean nativepdfincludecustomfont = false
string nativepdfappname = ""
long richtextedittype = 5
long richtexteditx64type = 5
long richtexteditversion = 3
string richtexteditkey = ""
string appicon = "Graphup.ico"
string appruntimeversion = "22.0.0.1716"
boolean manualsession = false
boolean unsupportedapierror = false
end type
global statbar statbar

type prototypes
Function longptr CreateMutex ( &
   longptr lpMutexAttributes, &
   boolean bInitialOwner, &
   Ref string lpName &
   ) Library "kernel32.dll" Alias For "CreateMutexW"

Function ulong GetLastError ( &
   ) Library "kernel32.dll"

end prototypes

type variables

end variables

on statbar.create
appname="statbar"
message=create message
sqlca=create transaction
sqlda=create dynamicdescriptionarea
sqlsa=create dynamicstagingarea
error=create error
end on

on statbar.destroy
destroy(sqlca)
destroy(sqlda)
destroy(sqlsa)
destroy(error)
destroy(message)
end on

event open;Application la_app
Longptr ll_mutex
Ulong lul_error
String ls_mutexname
Boolean lb_prev

// get application
la_app = GetApplication()

// disable user control of toolbar
//la_app.ToolbarUserControl = False

// check if prev instance
If Handle(la_app, False) = 0 Then
   // running Powerbuilder environment
   lb_prev = False
Else
   // running executable
   ls_mutexname = la_app.AppName
   ll_mutex = CreateMutex(0, False, ls_mutexname)
   lul_error = GetLastError()
   If lul_error = 183 Then
      lb_prev = True
   Else
      lb_prev = False
   End If
End If

If lb_prev Then
   MessageBox("System Check", "Only one copy of the application is allowed!")
   Halt
Else
   Open(w_main)
End If

end event