THIS PAGE IS PRINTED FROM
Frequently Asked Questions
How do I run the UI Engine as an applet?
When you want to run the ULC UI Engine as an applet you need a browser with JDK 1.1 support. You can verify that the browser opens the applet successfully by opening the Java Console. If your browser doesn't have the required JDK 1.1 support the console will show a corresponding exception.
If you have no such browser available you can still run the UI Engine using the Java Runtime Environment (JRE) and in this case no HTML browser is needed. (See: Release Notes and Web Integration)
How do I increase the Environment under Win95?
On some Win95 machines you may get the message "Out of environment space"
when starting a ULC application.
Here the number following /E: specifies the maximum size of the
How do I run ULC on a standalone machine?
The easiest way is to go into the DNS page of the TCP/IP bindings(eg. Control Panel -> Network ->"TCP/IP->Dial-up Adaptor") and set your host name to "localhost". You will want to reset it when you connect back to a network, though.
Note: On machines that are sometimes connected to the network and other times not, the following have been found to help with varied degrees of success on different machines.
We will update this FAQ as soon as we get a more definite solution to this problem.
How can I request a remote ULC server to exit?
After ULC R1.3 onwards all ULC server applications interpret a connection request with the application name EXIT to mean that the server itself should exit.Hooks are provided in both Java and Smalltalk for the application to override the default behavior which is to do a System.exit immediately.It is up to the application developer to decide what actions should be performed when this EXIT request is received.
For example if you have started a ULC application on your local machine as a server on port 4444.Starting the UI Engine with the parameter-url ulc://localhost:4444/EXIT will cause the ULC application server to exit immediately.
To change the default behavior, in Java the developer must override the handleExitRequest method on ULCContext and in Smalltalk the developer must register for the event using the ulcWhenAboutToTerminateSend: API in UlcSystem
How much code is downloaded when connecting to a ULC application?
The typical mode for running ULC applications is where the UI Engine is run as a client on the users machine and the ULC application is running on an application server. In this mode the primary concern for the user will be how much code needs to be downloaded to his machine before a connection to an ULC application is made.Assuming that the user has installed the Swing classes locally on his machine (this is a one time installation process)` then the only code that needs to be downloaded is the UI Engine. The UI Engine is packaged as a single .jar file and is approximately 440KB in size which allows even slow modem connections to perform satisfactorily.
What kind of applications is ULC designed for?
The strength of applications built using ULC technology are that they can be distributed easily, are automatically web enabled and have very low bandwidth requirements. On every release of ULC we are adding new widgets and capabilities but the primary focus of ULC has been to support the requirements of commercial business applications.
How can I convert my standalone application to a ULC server application?
The problems of converting a standalone application to a ULC server application are mostly the
same faced by any server developer.
What happens when a connection fails?
The behavior of the ULC application when a connection fails depends on whether the application is in client or server mode.
Why do I get an error "ULC Transport Unable to load defaults"?
When attempting to connect a ULC application to a UI Engine on some platforms if the DNS entry of the target machine does not match its configured IP address an error is reported on the Console stating "ULC Transport Unable to load defaults". The fix for this problem is to either correct the DNS entry or add an entry in the HOSTS file with the current IP address of the target machine.
Why am I not able to connect a sample ULC application to a UIEngine on the same machine?
On some platforms the local loopback interface is not enabled by default in the TCPIP settings.
In ULC lists (Table, TreeTable), how is addPreloadColumns different from addPreloadAttributes?
What can I do to tune the performance of my ULC List widgets (Tree, Table, TreeTable) ?
My long running ULC Java server seems to be leaking memory. What can I do?
When a ULC Java application terminates the free method is called on all ULC Java Proxy parts. In some cases classes that are built using the ULC Java Builder have references to other parts that prevent them from being garbage collected. You can optionally implement the method free on all subclasses of ULCVajContext, ULCShell and ULCVajComposite to reset any instance variables and other data structures.
Note: Ensure that if you do implement the free method that you call super.free() within your implementation.
Why is the slider or combobox part disabled?
If a model is connected then the part expects from the model to have a correct/initial value at the slot of the form attribute for the part. If this value is undefined ( null/nil) then the part is disabled. If the programmer intends to use the part for inputting data then the form model should be initialized to some useful default. Another solution is to enable the part manually.