GetExeFileName

In VO most programmers used libraries and not DLLs. So, when executing any of these functions, they are called directly from the executable, and therefore this code works in VO:

function GetExeFileName() as string
local pszBuffer as psz
local cName as string

pszBuffer := MemAlloc( 1024 )
GetModuleFileName( _GetInst(), pszBuffer, 1023 )
cName := PSZ2String( pszBuffer )
MemFree( pszBuffer )

return cName

But in X# libraries are DLLs and therefore external entities. This call can be changed to

function GetExeFileName() as string
local cName as string
cName := System.Reflection.Assembly.GetEntryAssembly():Location
return cName