Issues for WebGain VisualCafé
Enterprise Edition 4.0
Table of Contents:
I. Known Problems and Caveats
II. Database Issues
Adding a third party swingall.jar
Breakpoint set in code for
a timer event
Big Decimal Issue
Changing An Empty Project to EJB
Application Project
Classes with methods that use
array arguments
Client Adapter Wizard
Closing server projects
Code generation issue
with layout manager
Code generation issue with EJB
Connection to Cloudscape
database
Converting Swing 1.1
applications to 1.0.3
CORBA Development Under Java2
Debugging differences in different VMs
Debugging EJB projects
Debugging in Netscape
Debugging in Internet Explorer
Debugging Java on
remote machines
Debugging with an
older classes.zip
Debugging with a servlet
co-client
Deployment of Jar files
Errors when starting VisualCafé
Executing or debugging servlet
client locally
Incremental Debugging
Inner classesand EJBs
Inprise's Object Activation Daemon
International issues
Issues with ddservices
Java Beans
Javadoc Editor
JDK Version incompatibilities
JDK 1.1 native application
JDK 1.3 support
JLookAndFeelComboBox
JMaskedTextField
JSlider contained in a JFrame
JTable or JList in a JScrollPane
JTabbedPane
JTextArea border
Known Online Help issues
Large JAR files
and the component library
Lightweight component behavior
between JDK 1.1 and 1.1.7
Macro
Memory Warnings
Migration issues with
EJB projects
Missing or incorrect
Line-number information
Missing Keyboard
mapping for UML\EJB tabs
MultiList
New properties in Swing 1.1
Parse All Imports option
Pluggable VM profiles
using directory names with spaces
Project migration issues
with EJB projects
Quarterdeck CleanSweep
Remote
Debugging & Execution of Projects in Java2
Remote execution of Distributed
Debugging Services
ResourceBundle/Localization
Feature
Sample project compilation
errors
Selecting Sun's JDK 1.2
executable
Setting breakpoints in identical
files
Stepping out of event handler
code in Netscape
Stepping over a statement
in a try block
TextArea
Unavailable source
files when debugging in Web browsers
Unable to start VisualCafé
Using Restart with
pluggable VMS
Using VisualCafé
on 256 colors displays
Version Control Limitation
VisualCafé and spawned
processes
WebLogic limitations
Z-order of heavyweight
components
Big Decimal Issue
Since many drivers do not support getting BigDecimal
from a result set, code generation for the readData() method
uses ResultSet.getBigDecimal(<columnindex>,<scale>)
instead of ResultSet.getBigDecimal(<columnindex>).
The compiler throws a warning saying that this method has been deprecated.
Breakpoint set in
code for a timer_event
When debugging code running in the Netscape Browser, do not set a breakpoint in a timer_event.
If you set the breakpoint in the timer_event, Netscape may crash
when the breakpoint is hit.
Changing An Empty Project to EJB Application
project type
When you create an empty project, then change the project type to EJB Application, the project may not behave properly.
When you create an empty project for an enterprise bean, select Empty Enterprise Bean.
Classes with methods that use array
arguments
VisualCafé may not interpret methods with array arguments correctly when the classes containing
those methods are in the Component Library. This appears in various ways. For example:
Client Adapter Wizard
The Project Path drop down list in the Save Client Adapter page of the Client Adapter Wizard sometimes displays
as a text field. This is a JFC bug. Click the right side of the text field to activate the dropdown list.
Closing server projects
Creating and closing a server project (RMI & CORBA) without saving prevents a temporary directory in
<VisualCafe>\Bin from being removed.
Code generation issue
with layout manager
Code is generated for the SetBound property even when a layout is in specified. This line of code should be deleted.
Code generation issues with EJBs
When using Configure Deployment Descriptor to generate code for a new finder method, you need to enter the full package name for the parameters used by this method. WebLogic Server 5.1 requires a fully qualified package name.
Code generated by VisualCafé for bean managed persistence does not work with WebLogic Server 4.5.2.
Changing the variable type in the Filed tab of Configure Enterprise Bean doesn't update the related comment line and causes errors to appear while using Verify EJB.
Enterprise Bean does not support special character like '&' in its description field.The workaround is to open the source code of the bean and split the comment statements into two or more comments. One that has just the description and other that has bean information like home interfaces etc.
If you change the JNDI name of a bean through the descriptor, you need to modify the client code so that it can use the modified JNDI.
When you create a bean managed persistence entity bean using the Enterprise Bean wizard, you should map it to a database. If you do not map the database to the bean you will receive a build error. If you choose not to map to the entity bean, you can use Configure Enterprise Bean to map it later and use Verify EJB to add the required methods.
Connection to Cloudscape database
The evaluation version of Cloudscape shipped with WebLogic Server only supports one database connection at a time
to a cloudscape.system.home directory. This limitation
prevents you from setting the connection pool to a database, then use that database in the
PersistenceBuilder at the same time.
Converting Swing 1.1 applications
to 1.0.3
Converting Swing 1.1 applications that use setDefaultCapable(boolean) to 1.0.3 may fail to build since this property
is not present in 1.0.3. This can be corrected by removing calls to setDefaultCapable() before converting files
to Swing 1.0.3.
CORBA Development under Java2
Currently CORBA development is disabled when VisualCafé is using the Java2 VM. Therefore JDK
1.2 compliant Visibroker & OrbixWeb Orbs are not yet supported by VisualCafé. This is because of conflicts
between the omg classes which are used by the Orb vendors and the omg classes which are shipped with the Java2
VM
Debugging differences
in different VMS
Occasionally when debugging in a Sun VM on a UNIX platform, Step Over may need to be selected more than once per
line of Java source code. When debugging, the Sun vm is put into single step mode. When in single step mode, each
step will represent one VM instruction but not necessarily one line of Java source code, since there may be more
than one VM instruction for a given line of Java source code.
Certain extended feature like expression evaluation,incremental debugging are not available on a non-WebGain VM.
Debugging EJB projects
When an enterprise bean project is selected, using Project | Run In Debugger causes VisualCafé to miss a
Breakpoint set on the first statement of the main() method of the Client co-project. Use Project | Step Into instead
of Project | Run In Debugger.
VisualCafé crashes when a local client calls a non existent method on the server.
In certain situations while debugging with WebLogic Server, breakpoints in classes loaded by their custom classloaders may be ignored. If you encounter this situation while debugging an Enterprise Bean in WebLogic Server, you need to pass an additional setting to the VM in which your server will be running. In your EJB project, select Manage Deployment Target in Project | Options | EJB tab. In the field for Optional VM Arguments add the setting -Dwebgain.tools.debug.DontUseClassLoadNotify=true. This enables breakpoints to be hit.
Note: Disabling classloader notifications in this way may have the side effect of VisualCafé showing multiple breakpoint markers for a particular breakpoint.
Debugging in Netscape
Stepping out of methods while debugging in Netscape is not supported in this release.
Debugging in Internet Explorer
Under Windows 2000 you may not be able to use Internet Explorer for debugging. The option in Project | Options
| Debugger may be greyed out. When this happens, modify the registry entry for Internet Explorer in HKEY_LOCAL_MACHINE\Software\Microsoft\IE4\Setup. Make sure the path value does
not contain %programfiles%. You can change the %programfiles% value by using the following steps:
Debugging Java on remote
machines
VisualCafé ships with sets of classes that need to be installed into JDKs to provide debugging support.
Some of these are platform specific while others are more general purpose. If you install a general purpose set
on a system that requires platform specific support, VisualCafé will hang when you try to debug VMS running
on that system. For example, VisualCafé will hang when you use the generic 1.1.7 set on Compaq True 64 UNIX
instead of the Compaq True 64 UNIX 1.1.7 set. Please see platforms\platforms.txt
on Disk One for additional information.
If you do not wish to expose a VM on a particular system, choose Tools | Environment Options | UML\EJB | Manage Deployment Target | Exclude other attachments.
Debugging with a servlet
co-client
When an enterprise bean project is executed with a servlet project set as the co-client project, an error may display
stating "Unable to continue debugging!" Close the dialog box displaying this error and continue debugging.
Deployment of JAR files
When deploying via FTP, Project | Deploy interprets the remote deployment Directory setting as a relative path
even if it has a leading slash. On a UNIX system, prefix the directory path with ".../" to get to the
root directory.
Creating a standalone jar in JDK 1.1.7 will fail due to a problem with spaces in the manifest file.
Errors when starting VisualCafé
A corrupt project may result in VisualCafé refusing to launch or crashing upon launch if the On Startup
option in the Tools | Environment Options | General is set to: "Open the last project." This can be avoided
by double clicking a .java file to launch VisualCafé without opening the last project. If you determine
that the project is corrupt, it can be rebuilt using the Empty Project template. Please see the Standard Features
User's Guide for instructions on working with Empty Projects.
If you encounter any errors when starting VisualCafé or if your Component Palette appears empty, delete the following files from <VisualCafe>\Bin:
*.rps
*.reg
*.vws
Please zip up your corrupted files, click here to send us email, and attach the zip file. This will help us track down corruption problems.
You can also use "vcafe - clean" at the command line to delete these files and then launch VisualCafé.
Note: Some of the errors are:
"No starter templates could be found"
"Cannot open local repository"
"Cannot open registry"
These files are platform-dependent and must be regenerated when switching between Windows 9x and Windows NT or to another machine.
In Windows 98, if VisualCafé has problems starting, rename the SymcJitCache folder in the Windows directory and restart VisualCafé. If VisualCafé starts successfully, please zip up your SymcJitCache folder, click here to send us email, and attach the zip file.
Executing or debugging
servlet client locally
Executing a servlet client for an EJB project or executing a servlet locally fails due to an incomparability of
the Servlet API in WebLogic Server 5.1 with the internal servlet runner. To work around this issue, you can remove
the weblogicaux.jar entry from the project classpath or
place Java\lib\servlet.jar in the project classpath before
the weblogicaux.jar entry.
Incremental Debugging
Changes made to static variables require a restart of the application or applet before they take effect. Similarly,
changes made to methods in the active call chain require a restart of the method before they can take effect. In
both cases a dialog presents you with this choice.
When using incremental debugging, changes made do not take effect until the next time the modified method is called.
This means if you modify a method that runs only once during the execution of your applet or application, for example,
init for an applet, run for a thread, a constructor for an already loaded class, etc., and that method has been
executed, then you need to restart the applet or application. The debugger does not always detect this case and
you may not get a prompt to restart. Also, if you modify static initializations, then you need to restart the app
as static initialization is done once, when the class is loaded. The environment does detect this case and presents
the user with the appropriate prompt. See the Online Help or User's Guide for more features and expected behavior
using incremental debugging.
Inner classes and EJBs
Avoid using inner classes in anEnterprise Bean project. If you choose to use inner classes, you need to use VisualCafeÆs
regular deployment features to define other class files in the EJB project that need to be deployed and where they
need to go. Use Project | Options | Deployment to set these options. Project | Deploy will use that information
to place the classes, such as utility type classes, to the remote machine.
Inprise's Object Activation Daemon
Networks running more than one Inprise Object Activation Daemon (oadj) may experience connection problems. If your
client throws a CORBA "No Response" error while attempting to connect, try connecting again. The client
should connect on the second try.
International Issues
This version of VisualCafé has been tested on the following native operating systems: US English, French,
German, and Japanese. Double byte (includes single byte Katakana) characters should not be included in variable
or method names if you are using StructureBuilder standalone or integrated with VisualCafé.
If ddservices on an HP UNIX system does not appear in the VisualCafé browse list, and running ddservices -report returns a socket in use error, then run ddservices -stop on the remote machine to stop the service.
When ddservices launches processes it directs the output to /dev/tty. Running ddservices without controlling TTY or from rsh may cause it to fail to launch child processes. Please see documentation on DefaultProcessFactory and the ddservices -ossuffix switch.
ddservices on a UNIX system will be silently suspended if run as a background job and the stty tostop option is set. The workaround for this is to put stty tostop in the .login or .profile to turn off the tostop feature.
Java Beans
When a Bean has multiple types of event listeners that implement event types having the same name, VisualCafé
will generate code to handle that event type only for the first listener. If you select that event type for the
second event listener, it generates the code for using that event type from the first listener.
VisualCafé uses the code generation model. If a Bean has a property editor, the method PropertyEditor.getJavaIntializationString()must
be properly implemented.
Custom properties: All custom properties must be serializable; otherwise VisualCafé cannot initialize the state of the Bean.
If a custom bean has been placed in a Component Palette tab, and AutoJAR is used to update the bean, the bean is deleted from the tab. You can avoid this by adding a toolbar value to the beaninfo such as the following:
import java.src.com.WebGain.itools.vcafe.beans.BeanDescriptorAttributes;
BeanDescriptorVname.setValue(BeanDescriptorAttributes.TOOLBAR_ATTRIBUTE,ToolbarPaletteTabName);
where BeanDescriptorVname is the name of your bean descriptor variable and ToolbarPaletteTabName is the name of the Toolbar Palette tab where the bean is displayed.
Changing the package of a project Bean after it has been added to a form will not change the class property and will cause code generation problems when it is used.
Javadoc Editor
Placement of Javadoc comments on variables that are inside the DECLARE_CONTROLS
block will be removed upon code regeneration and is not supported.
If the Javadoc Editor is open and you're working in MDI mode, switching to another view by right clicking a file name in the project window will only work if the project window is not docked.
If the source files are not compilable, the Javadoc Editor may behave unpredictably. Please compile the source files before using the Javadoc Editor to avoid this behavior.
If you have throws clauses containing external classes, you may not get these classes listed in the Exceptions window in the Javadoc Editor. To work around this problem, enter @exception <ClassName> in the Javadoc comment.
Avoid trying to use the Javadoc Editor to add Javadoc comments to the code in the form of:
private int var1, var2;
instead, please use:
private int var1; private int var2;
Otherwise the Javadoc Editor produces unpredictable results. The Javadoc utilities will only see the Javadoc comment directly above the definition and generate the same html text for both the var1 and the var2 sections. There is no way to provide separate text for each variable unless the definitions are on separate lines.
You can run a new macro called Fix Field Declarations to search through existing code and change the code into separate lines.
JDK Version incompatibilities
WebGain VisualCafé 4.0 supports version 1.1.7a of the Java Development Kit from Sun Microsystems. Please
see http://www.javasoft.com/ for information regarding specific OS incompatibilities
with the JDK.
JDK 1.1 native application
Native (Win32) applications created with older versions of VisualCafé are not supported in the current version.
JDK 1.3 support
Security is disabled for executing applets under JDK 1.3 in appletviewer. To enable security, add the following
variable VCAFE_ALLOWAPPLETSECURITY to the sc.ini file.
JLookAndFeelComboBox
In JDK 1.2, JLookAndFeelComboBox works correctly with all Look
and Feel types. To use JLookAndFeelComboBox with Swing 1.1 in
the JDK 1.1 environment, or manually set the look and feel to Windows or Motif at runtime, you must add the new
Windows and Motif JAR files to your project CLASSPATH.
Note: Do not add the files to the SC.INI CLASSPATH as this can cause problems with the VisualCafé program files.
JMaskedTextField and MaskedTextField
Numeric masks in the masked fields can be forced to accept non-numeric inputs using copy and paste.
The method isdatacomplete() in JMaskedTextField and MaskedTextField always returns a value of true although no changes were made to the component.
JSlider contained in a
JFrame
When in Swing 1.1 mode, JSlider will not appear in
a JFrame at runtime unless setVisible is set to true in the source
code.
JTable or JList in a JScrollPane
A JTable
or JList in a JScrollPane will not scroll automatically when an item out of the current viewable area is selected.
JTabbedPane
Visible tabs for a JTabbedPane will be automatically switched when you select a pane via the property list.
JTextArea border
No border is the default for JTextArea in Swing 1.1
whereas LineBorder was
the default in Swing 1.0.3.
Known Online Help issues
Pressing F1 for help on some properties may not bring up the help for that property. If you want to
view the help for the property, use the Contents Tab in the Online Help by selecting Help Topics from the Help
menu. You may also search for the item in help by using the Index or Find tabs in the Online Help.
In the Component Reference, help topics for Swing components contain a button labeled "API" or "API(Swing 1.1)". These buttons link to related API documentation in the APIRef.hlp file. Depending on which APIRef.hlp file you have installed in your <VisualCafe>\Help folder, you may experience "Topic not found" messages. See API Reference in Tips.htm for more information on changing your APIRef.hlp file.
Large JAR files and
the component library
Under Windows 95 it is best to drop larger JAR files one at a time into the Component Library window. This is a
problem with the Java VM under Windows 95, and we expect it to be resolved in version 1.2 of the Java VM.
Lightweight component
behavior between JDK 1.1 and 1.1.7
Between JDK 1.1 and JDK 1.1.7, behavior of lightweight components has changed in many ways (primarily to fix problems
in the initial implementation). If you run your program in an environment with an implementation of lightweight
components that is earlier than the implementation in JDK 1.1.7, behavior of the lightweight components may vary.
Macro
When editing a Macro in the source editor, if the argument for VisualCaféCommand.sendKeys('')
is a double byte character, then the macro can only paste the second byte.
Only use JDK 1.1.7 when creating macros in VisualCafé. When macros are executed, the CLASSPATH in the SC.INI is used.
Memory Warnings
"Out of Virtual Memory" warnings
If you encounter an "Out of Virtual Memory" warning under Windows NT with 128 MB or more of RAM, you
may have come across a reported NT bug. The symptoms are a sudden jump in the "Mem Usage" graph in the
Performance tab in the Windows NT Task Manager. A sudden memory allocation of 100 MB or more can occur and is not
returned unless the system is rebooted.
To prevent this error, change the paging file size settings in Start | Settings | Control Panel | System | Performance
to the same or greater size as the amount of physical RAM in the machine. Choosing the Recommended Paging File
size is also a safe choice.
Low-memory warning on startup
If the sum of your system's available physical memory (RAM) and swap space on disk is below a minimal level when
VisualCafé starts up, a warning dialog will notify you of this condition. It advises you to increase swap
space (see below). You have the option of ignoring this warning (answer "No" to the "Quit?"
prompt), and proceeding to run VisualCafé with low memory resources. With light use, you may not experience
any problems at all. But with typical use, at some time in the course of your VisualCafé session you may
begin to see "low virtual memory" warnings from the operating system. Typical symptoms of running any
complex application with too little available memory are sluggish performance and unstable system behavior.
If the warning dialog recommends that you increase swap space by some small amount, such as 2 or 3 MB, increase
the minimum swap space on Windows NT or free disk space on Windows 95/98 by at least 5 MB.
For Windows 95/98, if the option is selected to let the OS manage swap space (default setting) in Start | Settings
| Control Panel | System | Performance | Virtual Memory, then available swap space is simply the amount of free
disk space; but note that there is no guaranteed minimum: if the disk is full, there is no swap space available.
For Windows NT 4.0, choose Start | Settings | Control Panel | System | Performance and click the Change button.
The page file setting that matters most to an application under NT is the initial page size setting. On a system
with 96 MB RAM, the initial swap space should be not less than 80 MB, and 96 MB is better. A reasonable setting
for the maximum is at least twice the initial size.
For further details about virtual memory, see the OS Help in the System dialog box.
Migration issues with
older EJB projects
VisualCafé cannot migrate enterprise bean projects created in version 3.1a when the bean class does not
directly implement the SessionBean interface but extends one of your own classes.
Missing or incorrect line-number
information
Line-number information is the debug information that is used to tell the debugger how the lines in a Java source
file to a class correspond to the actual byte code instructions in the class file of that class.
This information is used two ways. First, it is used when you set a breakpoint on a line in a source file. When
you do this, the debugger uses the information to tell the VM at what point in the byte code it should halt execution.
Second, when you are stepping through code, the debugger uses the line number information to determine which line
should be shown as the currently executing line. The compiler puts line-number information into the class files
it generates, that's unless the optimization flag is passed to the compiler.
If a class is built without line number information:
If a class is built from a different version of a source file than what is available to VisualCafé:
One situation in which you will see the above problems is when you step into the methods of the runtime classes, such as java.lang.String.indexOf(int i), when debugging an applet in Netscape 4.5. In this example, String in Netscape wasn't built with the same source as VisualCafé ships with.
Missing keyboard
mapping for UML\EJB tabs
Currently there is no keyboard mapping for the UML\EJB tab in Environment Options | Tools | Keyboard. A key can
be set to invoke this tab using a macro.
MultiList
The MultiList component is deprecated. Use JTable instead of MultiList
since JTable provides all functionality of MultiList
and more.
New properties
in Swing 1.1
Several new properties have been added to existing components in Swing 1.1. These properties may not be documented
in the Online Help. If a property can not be found in the Online Help, check the Sun Swing 1.1 API reference located
in the <VisualCafe>\Swing-1.1\Doc\API directory.
Parse All Imports option
When using the Parse All Imports option, allow the parser to finish parsing before editing or changing a file.
To view the status of the parser, select Messages from the View menu.
Pluggable VM profiles
using directory names with spaces
Executing and debugging will fail for Pluggable VM profiles that use a JDK with spaces in its directory
name.
Project migration issues
with EJB projects
Opening EJB projects that have been developed using previous versions of VisualCafé results in the deployment
target being set to WebLogic Server 4.5.2. If you have not configured your WebLogic Server 4.5.2 deployment target
or if WebLogic Server 4.5.2 is not installed in the location specified, no classpath is set for the client project.
After conversion, the EJB object may not be shown correctly. This is due to the JNDI name differences between what
was used in the EJB 1.0 specification and the EJB 1.1 specification.
Quarterdeck CleanSweep
VisualCafé is not compatible with versions of QuarterDeck CleanSweep prior to 4.0. Compatibility issues
have been resolved in version 4.0 and later, including Norton CleanSweep version 4.51 from Symantec. The current
workaround is to update or uninstall old versions of CleanSweep.
Remote
Debugging & Remote Execution of Projects in Java2
You cannot define an application project to execute remotely in Java2. Starting a remote Java2 VM and
publishing files to that VM is not supported in this release.
To debug a remote process in Java2:
To debug a remote process when executing in JDK 1.1.x from Java2:
Note: Your application can not use Java2 specific code in order to be backward compatible with the JDK 1.1.x VM.
Remote execution of
Distributed Debugging Services
When remotely executing Distributed Debugging Services, remember that the JDK or ORB vendor specific files are
not transferred to the remote machine. These files must be installed on the remote machine and present in the Distributed
Debugging Services CLASSPATH for successful remote execution.
Distributed Debugging Services interprets 127.0.0.1 as a actual IP address instead of mapping it to your local IP. If you specify 127.0.0.1 as the IP of the target machine you wish to remote execute to you will get an error message "Unable to Connect to Server" because ddservices will look for a machine with the IP address of 127.0.0.1
When using distributed debugging services on AIX 4.2 machines, you need to start "ddservices" from the directory where it is installed. If "ddservices" is started from any other directory and an application is remotely executed, the error message "debug VM: not found" displays on AIX machine and remote execution fails.
ResourceBundle/Localization
Features
For best results use the following procedures.
Turning on Resource Bundling/Localization:
1. Have the project in a compilable state.
2. Make a backup.
3. Resource Bundle your project near the end of the development cycle.
4. Use the Tools | Localization | Resource Bundle Strings dialog box to turn on these features.
Turning off Resource Bundling/Localization:
1. Remove any extra locales through the Tools | Localization | Delete Locale... dialog box.
2. Open the Project Options, and uncheck Localize Generated Code.
3. Revert any still localized strings by hand, and remove the resource bundle initialization strings from the files.
4. Delete any remaining Resource Bundle files from the project.
Hints and Tips:
Selecting Sun's JDK
1.2 executable
When you install Sun's JDK 1.2, the installer installs both the JDK and the JRE. This installs five copies of java.exe
on your system. The copies of java.exe are located in:
<JDK install dir>\bin\java.exe
<JDK install dir>\jre\bin\java.exe
<JRE install dir>\bin\java.exe
c:\program files\JavaSoft\JRE\1.2\bin\java.exe
c:\winnt\system32\java.exe
where <JDK install dir> and <JRE
install dir> are the physical locations of the JDK and JRE on your system.
VisualCafé attempts to find tools.jar based on the value of java.home, as reported by classes run in java.exe.
This fails when the java.exe in the JRE install is used.
If you want to set up VisualCafé for debugging into a Sun JDK 1.2 VM, the executable you specify in Environment
Options | Virtual Machines | Use VM executable must be one of the copies of java.exe
in <JDK install dir>, and not the java.exe in <JRE install dir>.
Setting breakpoints in identical
files
When two projects are open with the same name (such as JApplet1
and JApplet1), setting a breakpoint in one file will set a breakpoint
in the other.
Stepping out of event
handler code in Netscape
Stepping out of an event handler while debugging in Netscape eventually leads to a crash in the browser.
Continuing to step out of the event handler causes you to end up in the EventDispatchThread.java
file of the Netscape runtime. If you end up in the Netscape runtime while stepping out of an event handler
(this will be obvious when the source no longer matches), select Debug | Continue from the VisualCafé menu
or click the Run in Debugger button in the Debug toolbar to resume execution.
Stepping over a
statement in a try block while debugging
In some cases, stepping over a statement in a try block that triggers an exception will cause the program to terminate.
To get around this, set a breakpoint in your catch block. This breakpoint will get hit and you can continue to
debug.
Unavailable source files
when debugging in Web browsers
Occasionally, when debugging in Web browsers, actions may lead to an attempt to open source files which are not
available. In such cases, simply dismiss the Open File dialog box and continue debugging by choosing Debug | Continue
or the Run in Debugger button in the Debug toolbar to resume execution.
Unable to start VisualCafé
If VisualCafé was terminated abnormally then there may be child process that would prevent it from starting
again. These process like ddservices.exe, debugvm.exe, java.exe
and javaw.exe need to be terminated from the Task Manager
before restarting VisualCafé.
While starting VisualCafé you may see a message stating "Failed to create internal VM". If you see this message, there are zip and jar files that were not correctly copied to your system during the installation process. Reinstall VisualCafé to resolve this issue.
Using Restart with pluggable
VMS
When using pluggable VMS, Restart <ctrl-shift-F5> will not stop at first line of the application like it
does with the default VM.
Using VisualCafé
on 256 colors displays
If you are using a color scheme other than the default Windows scheme on a 256 color display, the Form Designer
and some dialogs may display colors differently than if viewed on a 15-bit color (32768 colors) or higher display.
Version Control Limitations
If you are testing PVCS version 6.6 with VisualCafé you may get a warning that "This Version Control
is not supported". This is a bug with version 6.6 of PVCS and Merant is working on fixing it. PVCS 6.5 will
not work with VisualCafé due to lack of support for SCC interface.
VisualCafé and spawned
processes
When shutting down VisualCafé, you should make sure that you have also closed down any local processes which
were started by the VisualCafé environment. For example, if you start the Weblogic Server locally from VisualCafé
(by debugging an EJB project or by selecting the "Start EJB Server" menu item), then you should also
stop the Weblogic Server before exiting VisualCafé. Failure to follow these steps causes various undesired
results while running VisualCafé in the future, until the spawned process is stopped.
This anomaly occurs because processes executed with the Java VM retain handles to network ports and other resources.
This renders the resources unusable by other processes.
One example of this problem can be verified by the existence of multiple ddservices.exe processes running on your
local machine. Kill all ddservices.exe and all debugvm.exe processes before restarting VisualCafé.
WebLogic limitations
WebLogic Server 4.5.2 and 5.1 cannot run in a Sun 1.1.x debug VM. This has been fixed in 117B_003 and
117B_005 for SunÆs NT JDK.
WebLogic Server 4.5.2 does not support JDBC 2.0. Code generated by VisualCafé for bean managed persistence will not work with WebLogic Server 4.5.2.
WebLogic Server 4.5.2 does not support these transaction types: SUPPORT, NEVER. If you choose the transaction type SUPPORT it will be mapped internally to the REQUIRED transaction type.
In order to create a enterprise bean with a space in the path name you need WebLogic Server 5.1 service pack 2.
Z-order of heavyweight
components
Z-order of heavyweight java.awt components is undefined in JDK 1.1.7. As of this writing, the current JDK 1.1
versions of Internet Explorer and Netscape both use the same z-order. However, this may not be true in future versions
of either Web browser or of other Java execution environments.
General issues
JDBC-ODBC Bridge
Browser execution
AWT DataBound components
AWT Grid
AWT Imageviewer
Javax Imports
Master Detail
MS Access Database
Numeric Precision
QBE
Online Help
You can switch between two Virtual Machines (VMS) provided by VisualCafé by setting the option in Tools
| Environment Options |Virtual Machines | Use VM. The available options are currently "Java - JDK 1.1.7a"
and "Java2 - JDK 1.2.2". When creating databound projects using the JDBC-ODBC bridge, you are using the
bridge that is shipped with one of two VMS
The following information describes the limitations of each of the VMS with the JDBC-ODBC bridge.
1. The JDBC-ODBC bridge provided in JDK 1.1.x does not support double byte character sets (DBCS), including Chinese,
Korean, and Japanese (Japanese single byte Katakana character set). Therefore, the project that uses the JDK 1.1
version of the JDBC-ODBC bridge can not handle SQL commands which include DBCS. For example, the DBCS cannot be
included in table names, column names, or the actual data itself.
2. The Sun JDBC-ODBC bridge in JDK 1.2.2 does not support SQL commands whose data source contains a DBCS table
or a column name, or data whose second byte can be "00h" when it is converted to Unicode (UTF-8). In
this version of VisualCafé we have chosen to alter the JDK 1.2.2 JDBC-ODBC bridge to fix this problem, thereby
enabling DBCS handling. This fix impacts one class file in rt.jar: sun/jdbc/odbc/JdbcOdbcObject.class.
Please note that this fix will ONLY work when executing or debugging a project with the VisualCafé environment.
It is expected that Sun will provide a fix for this issue in later releases of JDK 1.2.
Note: Internally VisualCafé uses JDK 1.1.7a. The dbNAVIGATOR
and Databound wizards have the same JDK 1.1 DBCS limitations described above, when using the JDBC-ODBC bridge.
In addition to the steps mentioned in the Browser Related Issues of the Deployment and Jar Tools section, you need to do the following steps if you are working on a database project.
..../databind.jar
..../dbaw_awt.jar
..../symbeans.jar
..../dbaw.zip
..../Java/lib/classes.zip
Otherwise you may get errors like: java.io.FileException: Can't find WebGain.itools.db.beans.jdbc.QueryNavigator .....
The following section describes known issues and solutions for some Data Source components.
Informix supports float data types with a maximum scale value of 6. Attempting to use a scale value that is greater than 6 results in rounded data values. Rounded data values cause update statements to fail their integrity constraints. Use scale values of 6 or less to enable updates.
The following issues apply to the Calculation Adapter.
Due to a bug in the JDBC-ODBC Bridge, you can't use IN/OUT parameters for a stored procedure with that driver. Instead, you need to create two parameters: IN and OUT.
JDateMaskedField
When the Format Numbers property in an associated BindingModel
component is set to False, JDateMaskedField may not work correctly.
Always set the Format Numbers property to True. Format Numbers is one of the Localization properties in the Binding
Model component.
This release of VisualCafé does not support db.awt.Imageviewer
in applets because of security exceptions.
Javax Imports
If you notice javax imports remaining after converting database projects from Swing 1.1 to 1.0.3, remove the imports
before compiling.
If you need other operators, use a TextField or JTextField component while in QBE mode.