Restrictions in functionality
Due to the fact that LyciaWeb
is not a desktop client, but a web client, it has some limitations regarding
4GL functionality:
- LyciaWeb cannot execute DDE functions, because there is no way a web application can affect other applications installed on the machine.
- Built-in functions - winshellexec() and winshelexecwait() - cannot be used in applications run in LyciaWeb. They will be ignored, if present in the source code.
- Browsing a local machine from the Internet zone is forbidden in all modern browsers. This includes linking to files on your hard drive, on mapped network drives, and accessible via Uniform Naming Convention (UNC) paths. So if your form has an event which is aimed, for example, at opening the content of the C drive, it will not be processed and a corresponding message will be displayed. This includes:
- opening file dialogs on the local file system;
- opening existing files;
- reading data from the file on the local file system;
- saving new files;
- retrieving size, MIME type, and time of previous modification;
- Browser widget functionality is restricted:
- it will not display the requested page, if the specified web site passes the X-Frame-Options in the header. If the DENY value is specified, any attempts to load the page in a frame fail, thus the Browser widget will remain empty. If the SAMEORIGIN value is used, the Browser widget will still display a web page, if this page is on the same site where the LyciaWeb application runs.
- it will not display a site's inner page with the ability to run scripts and submit forms. This is made for the security reasons as it may get information about sensitive data in 4GL application. To enable that back user may need to add TRUSTED class name into the Browser widget. On doing this the security restrictions will be disabled provided that there is no prohibition for opening the page in IFRAME tag on the site itself. Under this condition it can only be opened via additional reverse proxy because the Browser widget simply uses the IFRAME tag for running the page needed and does not depend on the browser version installed on the machine.
- Opening, emptying, and closing of a clipboard is forbidden.
- You cannot verify the existence of an external file by its physical name.
- You can neither retrieve (or set) values of system environment variables nor retrieve the name of the user associated with the current thread, etc.
Non-supported keyboard shortcuts
As a web client, LyciaWeb greatly depends on the web browser you use to run your applications.
Among the restrictions imposed by a web browser are keyboard shortcuts.
If a certain key combination is reserved by the web browser and you try to use it from your 4gl code, you might get unexpected and unwelcome results.
Thus, we recommend Lycia user to avoid key combination reserved by operating systems and browsers.
Keyboard shortcuts that cannot be reassigned
These key combinations must not be used in 4gl code because they will be overwritten by your operating system and/or browsers.
Keyboard shortcuts reserved by Windows OS
Alt + Esc
Alt + Tab
Ctrl + Tab
Alt + F4
Ctrl + F4
Alt + Space (in Google Chrome, it triggers both handlers - OS and 4gl)
Keyboard shortcuts reserved by most web browsers
Ctrl + T
Ctrl + N (is not reserved by Microsoft Edge)
Ctrl + R (is not reserved by Microsoft Edge)
Ctrl + W
Alt + D
Keyboard shortcuts that can be reassigned
Below you can find links to the web browser's native documentation where they list the reserved key combinations:
These key combinations can be overwritten by LyciaWeb and, thus, can be used in your 4gl code. However, you must be careful with them and test them thoroughly before releasing your 4gl applications.