home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VCafe / Readme.txt < prev    next >
Encoding:
Text File  |  1998-05-29  |  60.5 KB  |  1,634 lines

  1. =================================================================
  2. Copyright (c) 1998 by Symantec Corporation. All Rights Reserved.
  3. Visual Cafe is a trademark of Symantec Corporation. Other brands 
  4. and their products are trademarks of their respective holders.
  5. =================================================================
  6.  
  7. Table of Contents:
  8. I.     Welcome
  9. II.    Installation Notes, JFC and KL Group
  10. III.   User Tips
  11. IV.    Known Problems and Caveats
  12. V.     Questions and Answers
  13. VI.    Addendum to Symantec Native Java documentation
  14. VII.   JFC
  15. VIII.  JAR Packager
  16. IX.    Database Development Edition
  17. X.     Contacting Symantec for Technical Support
  18. XI.    What's new in Visual Cafe 2.5\2.5a
  19. XII.   What's new and fixed in Database Edition 2.5/2.5a
  20.  
  21.  
  22. I. Welcome
  23. =================================================================
  24. Welcome to Symantec Visual Cafe Version 2.5a for Java for Windows 
  25. 95 and Windows NT. Please take a few minutes to read this file,
  26. which contains the latest information regarding this release.
  27.  
  28.  
  29. II. Installation Notes
  30. =================================================================
  31. Run Setup.exe. The installation is smooth and intuitive. As with
  32. any new software, please install Visual Cafe for Java in a clean
  33. directory. Please note that Visual Cafe for Java 2.5a will not
  34. install over previous versions of Visual Cafe.
  35.  
  36. If you are using the FAT16 file system (e.g., Windows 95), the 
  37. total installed size of Visual Cafe for Java is significantly 
  38. affected by the cluster size of the hard drive partition used.
  39. The total installed size will be substantially larger for drive 
  40. partitions with 32k clusters (1-2GB drives) than for drive 
  41. partitions with 16k (513MB-1GB) or 8k (257-512MB) cluster sizes.
  42.  
  43. <<PDE and dbDE only>>
  44. Note: If you do NOT have ODBC installed on your system,
  45. you will see an error message that ODBC32.dll could not be 
  46. found at the end of installation (after installation of the 
  47. native runtime),. That DLL is not actually needed by 
  48. installation; simply dismiss this error dialog and ignore it.
  49. <<end PDE and dbDE only>>
  50.  
  51. Visual Cafe ships with the KL Group full suite of components. 
  52. They can be found in <"VCafe">\KL Group (where <"VCafe"> is your 
  53. installation directory). To install these components, drop the
  54. JAR file into the Component Library from Windows Explorer.
  55.  
  56. In order to run any of your JDK 1.1.x applets in the Netscape 
  57. browser, we recommend version 4.04 or later of Netscape 
  58. Communicator PLUS the JDK 1.1 update available from Netscape at
  59. http://developer.netscape.com/software.
  60.  
  61.  
  62. Installing and Running the Tour
  63. -----------------------------------------------------------------
  64. If you are new to Java development, please take the time to work
  65. through the exciting and informative tour that is part of Visual
  66. Cafe for Java. This tour will provide you with an overview of
  67. some of Visual Cafe's most powerful features.
  68.  
  69. What is in the Tour
  70. -----------------------------------------------------------------
  71. In the Tour you will learn how to:
  72.  
  73. * Design an applet, build it, and install it in a Web page.
  74. * Run the applet in Visual Page.
  75. * Design an application, then build, test, debug, and run it.
  76.  
  77. To run the Tour:
  78.  
  79. * Click the Tour Book icon in the Symantec Visual Cafe program 
  80. group, and follow the Tour instructions.  You need to have Adobe
  81. Acrobat reader installed in order to read the Tour Book.
  82.  
  83.  
  84. III. User Tips
  85. =================================================================
  86. SC.INI
  87. -----------------------------------------------------------------
  88. Visual Cafe uses the CLASSPATH from the sc.ini file in the
  89. <"VCafe">\Bin directory. The CLASSPATH in sc.ini, by default, does 
  90. not contain the environment classpath (e.g.,%CLASSPATH%). Existing 
  91. projects relying on the environment classpath setting may fail to 
  92. build. To correct this, you may either add the package directories 
  93. manually to the sc.ini classpath, add the package directories 
  94. to the project in project/options/directories, or add the 
  95. %CLASSPATH% variable to the end of the classpath line in the 
  96. sc.ini file.
  97.  
  98. Remote Debugging
  99. ----------------------------------------------------------------- 
  100.     To pass arguments to the VM for debugging applications:
  101.  
  102. 1.  Open a command line window in the directory with your Main 
  103.     class.  Execute the line below.  XXXX are the arguments you 
  104.     want to pass, e.g. -ms16m, -mx128m.
  105.  
  106.     java_g -debug -XXXX symantec.tools.debug.EmptyApp
  107.  
  108.     This will print: Agent password=yyyy
  109.  
  110. 2.  In the menu go to: Project | Options... | Debugger.  Enable 
  111.     Remote Debugging.  Set the Host Address to 127.0.0.1.  Set 
  112.     the password to the output you got from the command line in 
  113.     step 1.
  114.  
  115. 3.  You may now begin debugging normally.
  116.  
  117. 4.  When you are finished, do <ctrl-c> in the command line window 
  118.     to end the session.
  119.  
  120. 5.  To start another session, do step 1 to get a new password.
  121.  
  122.  
  123. Executing & Debugging applets in Netscape Navigator 
  124. -----------------------------------------------------------------
  125.  
  126. Visual Cafe now supports the ability to debug Java applets using
  127. Netscape Navigator.  You must have version 4.04 or later of 
  128. Netscape Communicator installed on your system to do this. In 
  129. addition you must  have the updated support for JDK 1.1. You may 
  130. obtain this from Netscape's web site at 
  131. http://developer.netscape.com/software. Make sure you install the 
  132. support patch for version 4.03 or greater.
  133.  
  134. In order for Visual Cafe to execute your applets in Netscape 
  135. Navigator, you need to edit your project options and select 
  136. "Execute applet in default web browser."  You will also need 
  137. to ensure that Netscape Navigator is configured as your 
  138. default browser.
  139.  
  140. Netscape will issue some security violation exceptions when you 
  141. attempt to execute or debug applets from within Visual Cafe. To 
  142. avoid this security constraint, please add the following options 
  143. to your prefs.js file:
  144.  
  145. user_pref("unsigned.applets.low_security_for_local_classes", true);
  146. user_pref("signed.applets.local_classes_have_30_powers", true);
  147. user_pref("signed.applets.low_security_for_local_classes", true);
  148. user_pref("signed.applets.verbose_security_exception", true);
  149.  
  150. Notes
  151.  
  152. 1. This file states that it should not be edited by hand. In order 
  153. to add entries to this file, you must first close all running 
  154. instances of the Netscape Navigator. You may then edit the file 
  155. manually.
  156.  
  157. 2. You will see a message in the Java console, 
  158. "# Security Exception: checkpropsaccess.key". This message 
  159. can be ignored.
  160.  
  161. For more information on Netscape security please refer to the 
  162. following URLs:
  163.  
  164. http://developer.netscape.com/support/faqs/champions/security.html
  165. http://developer.netscape.com/library/technote/security/sectn3.html
  166.  
  167.  
  168. Executing & Debugging applets in Microsoft's Internet Explorer 
  169. -----------------------------------------------------------------
  170.  
  171. In order for Visual Cafe to execute your applets in Microsoft's 
  172. Internet Explorer, you need to edit your project options and 
  173. select "Execute applet in default web browser."  You will also 
  174. need to ensure that Microsoft's Internet Explorer is configured 
  175. as your default browser.
  176.  
  177. The Microsoft browser does not support JNI, the native code 
  178. required by Sun's JDBC-ODBC Bridge. Microsoft has its own version 
  179. of the JDBC-ODBC Bridge, which can be obtained by downloading the 
  180. Microsoft SDK for Java from their website.
  181.  
  182.  
  183.  
  184. Source Control
  185. -----------------------------------------------------------------
  186. Visual Cafe supports the ability to manage source files (such 
  187. as .java) from within the environment through a version control
  188. system such as Starbase Versions. Because of the special nature 
  189. of the project file (.vep), checking this in or out must be done 
  190. outside Visual Cafe with the project closed. The procedures are:
  191.  
  192. Checking out the project file:
  193. 1) Close the project in Visual Cafe.
  194. 2) Check-out or get the .vep file
  195. 3) Delete the .vpj and .ve2 files from project directory.
  196. 4) Now open the project.
  197.  
  198. Checking in a project file:
  199. 1) Close the project in visual cafe.
  200. 2) Check-in the .vep file
  201.  
  202. NOTES:
  203.  
  204. * The .vep file is a binary file.
  205.  
  206. * It is not recommended that the .vpj and .ve2 files be kept 
  207. under version control since these are binary files. If you do 
  208. elect to check them in, make certain that they are not marked 
  209. read-only. If you do, Visual Cafe will be unable to open the 
  210. project.
  211.  
  212. * Visual Cafe offers an API to allow checking in of .vep 
  213. files into the source control.  Source control vendors are 
  214. working on integrating this ability.
  215.  
  216.  
  217.  
  218. IV. Known Problems and Caveats
  219. =================================================================
  220. This section lists information about known problems:
  221.  
  222. * If you encounter certain errors when starting Visual Cafe or
  223.   if your tool palette appears empty, delete the following files
  224.   from \VisualCafe(WDE|PDE|dbDE)\Bin:
  225.  
  226.     *.rps
  227.     *.reg
  228.     *.vws
  229.  
  230.   Note: Some of the errors are:
  231.  
  232.     "No starter templates could be found"
  233.     "Cannot open local repository"
  234.     "Cannot open registry"
  235.  
  236.   These files are platform-dependent and must be regenerated
  237.   when switching from one operating system or to another machine.
  238.  
  239.  
  240. * When using the Parse All Imports option, we recommend that you
  241.   allow the parser to finish parsing before editing or changing
  242.   a file. To view the status of the parser, select Messages
  243.   from the Visual Cafe Window menu.
  244.  
  245. * Java Beans custom painters (e.g. any implementation of
  246.   PropertyEditor.paintValue will not be called).
  247.  
  248. * Under Windows 95 it is best to drop larger JAR files one at 
  249.   a time. This is a problem with the Java VM under Windows
  250.   95, and we expect it to be resolved in version 1.2 of the
  251.   Java VM.
  252.  
  253. * Visual Cafe uses the code generation model. If a bean 
  254.   has a property editor, the method 
  255.   PropertyEditor.getJavaIntializationString() 
  256.   must be properly implemented.
  257.  
  258. * In some cases, stepping over a statement in a try block that 
  259.   triggers an exception will cause the app to terminate.  
  260.   To get around this, set a breakpoint in your catch block.  
  261.   This breakpoint will get hit and you can continue to debug.
  262.  
  263. * Using the menu item File > Open Page in the Netscape browser 
  264.   to load html pages which contain applets may not work due to 
  265.   various security constraints and security exceptions. We 
  266.   anticipate that these problems will be resolved in future 
  267.   versions of Netscape browser. These html pages normally work 
  268.   in deployment scenarios.
  269.  
  270. * JAR Packager: Dynamically loaded classes 
  271.   forName(...); getResource(...); getBundle(...)
  272.   do not show up as JAR entries; you must add them manually.
  273.   If you add them to your project then the JAR Packager will
  274.   be able to find them.
  275.  
  276. * JAR Packager:  There is a bug in the JDK that results in 
  277.   corrupt JAR entries being created in compressed JARs.  If you 
  278.   get a Cannot Find File error message when creating a JAR,
  279.   you may be able to fix it by uncompressing the JAR that you 
  280.   are getting the class from and re-JAR'ing it without 
  281.   compression.
  282.  
  283. * JAR Packager: When entries are coming from another JAR that 
  284.   have Depends-On clauses the dependent classes will also be 
  285.   pulled into your JAR. However, the dependent classes will not 
  286.   be marked as dependents of the entry.
  287.  
  288. * When creating a JAR from a project, you should not create a 
  289.   JAR that has the same name as a JAR that is referenced outside 
  290.   of your project. For example:  If you are using a SpecialGrid 
  291.   in c:\SGRID.JAR from a third party vendor in your project, do 
  292.   not create a JAR with the name of c:\SGRID.JAR.  
  293.  
  294. * Jar Viewer:  The manifest display is limited to 32K of text.  
  295.   To view Manifest files that are larger than 32K, multi select 
  296.   (shift-click) the entries in chunks less than 32K at a time.
  297.  
  298. * Custom property editors: All custom property editors must be 
  299.   serializable; otherwise Visual Cafe cannot initialize the state
  300.   of the bean.
  301.  
  302. * AutoJAR: During the bean development cycle, it is advisable not 
  303.   to include JARs with dependencies, such as swing.jar, into an 
  304.   "autojar". Manually add the dependent JAR into the class path 
  305.   of the project.
  306.  
  307. <<PDE and dbDE only>>
  308. * Netscape can crash if a breakpoint set in code for a 
  309.   timer_event is hit while debugging.  
  310.  
  311. * Occasionally, when debugging in browsers, actions may lead 
  312.   to an attempt to open source files which are not available.
  313.   In such cases, simply dismiss the open file dialog box and
  314.   continue debugging by choosing Debug > Continue or the Run
  315.   in Debugger arrow button.
  316.  
  317. * Hitting a breakpoint in the run() method of an applet 
  318.   within Netscape Communicator implementing Runnable will 
  319.   cause Visual Cafe to crash.
  320.  
  321. * When debugging in Netscape or Internet Explorer, stepping into
  322.   code for components will use the browsers' VM.  Line-number 
  323.   info will be incorrect, thus the code displayed will not be 
  324.   correct.
  325. <<end PDE and dbDE only>>
  326.  
  327.  
  328. Low-memory warning on startup
  329. -----------------------------------------------------------------
  330. If the sum of your system's available physical memory (RAM) and
  331. swap space on disk is below a minimal level when Visual Cafe 
  332. starts up, a warning dialog will notify you of this condition. 
  333. It advises you to increase swap space (see below). You have the 
  334. option of ignoring this warning (answer "No" to the "Quit?" 
  335. prompt), and proceeding to run Visual Cafe. With light use, you 
  336. may not experience any problems at all. But with typical use, 
  337. at some time in the course of your Visual Cafe session you may 
  338. begin to see "low virtual memory" warnings from the operating 
  339. system. Typical symptoms of running any complex application with
  340. too little available memory are sluggish performance and unstable
  341. system behavior.
  342.  
  343. If the warning dialog recommends that you increase swap space by
  344. some small amount, such as 2 or 3 MB, increase the minimum
  345. swap space on Windows NT or free disk space on Windows 95 by
  346. at least 5 MB.
  347.  
  348. For Windows 95, if the option is selected in Settings > 
  349. Control Panel > System > Performance > Virtual Memory to let the 
  350. OS manage swap space (this is the default), then available swap 
  351. space is simply the amount of free disk space; but note that 
  352. there is no guaranteed minimum: if the disk is full, there is no
  353. swap space available.
  354.  
  355. For Windows NT 4.0, the Control Panel is started from the Settings
  356. menu item, as on Windows 95. The page file setting that matters
  357. most to an application under NT is the minimum page size setting.
  358. On a system with 32 MB RAM, the minimum swap space should be not
  359. less than 20 MB, and 32 MB is better. A reasonable setting for
  360. the maximum is at least twice the minimum.
  361.  
  362. For further details about virtual memory, see the OS Help in the
  363. System dialog box.
  364.  
  365.  
  366. JDK Version Incompatibilities
  367. -----------------------------------------------------------------
  368. Symantec Visual Cafe 2.5a supports version 1.1.5 of the Java
  369. Development Kit from Sun Microsystems.
  370.  
  371. Please see http://www.javasoft.com for information regarding 
  372. specific OS incompatibilities with the JDK.
  373.  
  374.  
  375. Java Beans
  376. -----------------------------------------------------------------
  377. When a bean has multiple types of event listeners that implement 
  378. event types having the same name, Visual Cafe will generate code
  379. to handle that event type only for the first listener.  If you 
  380. select that event type for the second event listener, it will 
  381. generate the code for using that event type from the first 
  382. listener.
  383.  
  384.  
  385. Converting Visual Cafe 1.0x projects
  386. -----------------------------------------------------------------
  387. When converting a 1.0 project that used a card layout with 
  388. unnamed cards, the backparse will fail. To work around this, you 
  389. must manually edit the add() statements for those cards without 
  390. names. It is important to note that JDK 1.1 has disallowed 
  391. unnamed cards in a card layout; the same code would also fail 
  392. at runtime.
  393.  
  394.  
  395. <<PDE and dbDE only>>
  396. Native compiler
  397. -----------------------------------------------------------------
  398. When using 3rd party classes (and components) in a native code 
  399. compiled project, you must do one of the following two tasks: 
  400.  
  401. o include the source for these classes as part of the project
  402.  
  403. o pre-compile the source for these classes to a native DLL and 
  404. have the import library for that DLL listed in the Libraries 
  405. section of the Compiler Project Options.
  406.  
  407.  
  408. Native compiler and Visual Cafe 1.x and Cafe 1.x
  409. -----------------------------------------------------------------
  410. If the sj.exe from Visual Cafe 1.x or Cafe 1.x is specified in 
  411. the path before Visual Cafe 2.5a, an invalid flag error -link will
  412. result when using the native compiler. To avoid this error, make
  413. sure that the sj.exe from Visual Cafe 2.5a is specified in the 
  414. path first.
  415. <<end PDE and dbDE only>>
  416.  
  417.  
  418. Z-order of heavyweight components
  419. -----------------------------------------------------------------
  420. Z-order of heavyweight java.awt components is undefined in JDK 
  421. 1.1.5.  As of this writing, the current JDK 1.1 versions of 
  422. Internet Explorer and Netscape both use the same z-order.
  423. However, this may not be true in future versions of either 
  424. browser or of other Java execution environments.
  425.  
  426.  
  427. Lightweight component behavior between JDK 1.1 and 1.1.5
  428. -----------------------------------------------------------------
  429. Between JDK 1.1 and JDK 1.1.5, behavior of lightweight components 
  430. has changed in many ways (primarily to fix problems in the 
  431. initial implementation). If you run your program in an
  432. environment with an implementation of lightweight components 
  433. that is earlier than the implementation in JDK 1.1.5, 
  434. behavior of the lightweight components may vary.
  435.  
  436.  
  437. <<PDE and dbDE only>>
  438. Incremental Debugging
  439. -----------------------------------------------------------------
  440. Changes made to static variables require a restart of the 
  441. application or applet before they will take effect. Similarly, 
  442. changes made to methods in the active call chain will require 
  443. a restart of the method before they can take effect. In both 
  444. cases a dialog will present you with this choice.
  445.  
  446. When using incremental debugging, changes made do not take 
  447. effect until the next time the modified method is called. This 
  448. means if you modify a method that runs only once during the 
  449. execution of your applet or application (e.g. init for an 
  450. applet, run for a thread, a constructor for an already loaded 
  451. class, etc.) AND that method has been executed, then you 
  452. will need to restart the applet or application. The debugger 
  453. does not always detect this case and you may not get a prompt 
  454. to restart. Also, if you modify static initializations, then 
  455. you will need to restart the app as static initialization is 
  456. done once the class is loaded. The environment does detect 
  457. this case and will present the user with the appropriate 
  458. prompt.
  459.  
  460. See the topic "Incremental debugging features" in the online Help 
  461. for more features and expected behavior using incremental 
  462. debugging.
  463. <<end PDE and dbDE only>>
  464.  
  465.  
  466. V. Questions and Answers
  467. =================================================================
  468. How do I register Starbase Versions?
  469. -----------------------------------------------------------------
  470. Versions 2.0 provides intuitive version control for individuals
  471. and local groups of developers using Windows 95 and Windows NT.
  472. Register for the full version at 
  473. http://www.starbase.com/verreg.htm or phoning (714) 442-4460 
  474. CODE: VISUALCAFE97
  475.  
  476.  
  477. -----------------------------------------------------------------
  478. How do I distribute my applet on a Web server?
  479. -----------------------------------------------------------------
  480. The easiest solution is to JAR your applet by choosing the menu 
  481. item Project > JAR... The resulting JAR file can be specified in 
  482. your HTML file by using the ARCHIVE tag. 
  483.  
  484. For example, if you create an applet with the name of foo and from 
  485. that project you create a JAR file with the name of bar.jar, then 
  486. within the HTML file you would specify:
  487.  
  488. <APPLET CODE="foo.class" ARCHIVE="bar.jar" WIDTH=250 HEIGHT=250>
  489. </APPLET>
  490.  
  491. Not all browsers currently support the use of .jar files. To 
  492. address this you can create the JAR and then "unJAR" the file.
  493.  
  494. To unjar your previously created .jar file go to a DOS command 
  495. line and enter the command:
  496.  
  497. \VisualCafe(WDE|PDE|dbDE)\Java\Bin\jar.exe xf jarfilename.jar
  498.  
  499. The resulting directory tree of supporting class files can then
  500. be transferred via FTP to your Web space. 
  501.  
  502. Note: the manifest.mf file is not needed to deploy.
  503.  
  504.  
  505. -----------------------------------------------------------------
  506. What is the "Execute applet in default HTML viewer" option in the
  507. Project Options dialog?
  508. -----------------------------------------------------------------
  509. The "Execute applet in default HTML viewer" option, located in
  510. the Project Options dialog box, allows you to view your applet
  511. in your favorite Web browser, instead of the AppletViewer,
  512. when executing from the Visual Cafe environment.
  513.  
  514.  
  515. -----------------------------------------------------------------
  516. Will Visual Cafe recognize my own source code?
  517. -----------------------------------------------------------------
  518. When adding controls directly within the source editor, it is 
  519. recommended that you adhere to the same coding style as generated
  520. by Visual Cafe. This will allow controls you add to be displayed
  521. in the form editor. Controls you add outside Visual Cafe's tags
  522. (which are comments that indicate where Visual Cafe generates 
  523. Java code for the form editor) will not be displayed in the form
  524. editor and will not be affected by automatic code generation.
  525.  
  526. If you are adding controls within Visual Cafe's tags in the
  527. source editor, you should adhere to Visual Cafe's coding style.
  528. Otherwise, you can add controls outside of Visual Cafe's tags 
  529. using your own coding style.
  530.  
  531.  
  532. -----------------------------------------------------------------
  533. When I open a project in the Form Designer, the dialog for Dial
  534. Up Networking appears. If I log on, all is well. If I cancel,
  535. Visual Cafe "hangs" for several minutes.
  536. -----------------------------------------------------------------
  537. The use of relative URLs (for example, IMAGES/test.gif) can cause 
  538. this behavior on some systems. To avoid it, use absolute URLs 
  539. (for example, file://C:/.../PROJECT/IMAGES/test.gif) during 
  540. design time and then switch to relative URLs for deployment.
  541.  
  542.  
  543. -----------------------------------------------------------------
  544. How can I increase the size of a form within the Form Designer 
  545. larger than the resolution of my screen?
  546. -----------------------------------------------------------------
  547. A form in the Form Designer is limited to the resolution of your
  548. display. If your display system is capable, increase the its 
  549. resolution to allow more information on the screen such as 
  550. changing from 800x600 to 1024x768. If your display system 
  551. supports the use of a "viewport" or "virtual desktop" where only
  552. a portion of the desktop is displayed on the monitor, the form 
  553. size can be increased to the size of the desktop. Note that this
  554. has not been thoroughly tested with all display systems and is a 
  555. function of your video card driver.
  556.  
  557.  
  558. -----------------------------------------------------------------
  559. I would like to distribute my applications created with Visual 
  560. Cafe along with the Symantec Virtual Machine. Do I need to 
  561. obtain a license to distribute the Symantec JIT/JVM?
  562. -----------------------------------------------------------------
  563. Yes. Please email jit-licensing@devtools.symantec.com. The .class 
  564. files included with Visual Cafe are freely distributable. 
  565. JavaSoft has licensed the Symantec JIT for redistribution in the 
  566. JRE. The JRE is Sun's Java Runtime Environment and is freely 
  567. redistributable. Please visit http://www.javasoft.com for more 
  568. specific information regarding the JavaSoft JRE.
  569.  
  570.  
  571. -----------------------------------------------------------------
  572. I place a component on top of another and yet it seems to 
  573. disappear underneath the other component.
  574. -----------------------------------------------------------------
  575. The new JDK supports both lightweight and heavyweight components
  576. (see the online help files for a brief discussion of what 
  577. constitutes a lightweight component). Lightweight components will
  578. always be drawn behind heavyweight components. For example, if
  579. you drop a java.awt.Canvas component onto a form and then drop a 
  580. Label3D component on top, the Label3D still is drawn beneath the
  581. Canvas because the Label3D is lightweight and the Canvas is 
  582. heavyweight.
  583.  
  584.  
  585. <<PDE and dbDE only>>
  586. VI.    Addendum to Symantec Native Java documentation.
  587. =================================================================
  588.  
  589. a. What is covered in this addendum
  590. b. Resource binding
  591. c. Differences with bytecode
  592. d. Restrictions
  593. e. Library lookup
  594. f. Debugging Native Java Runtime
  595. g. Changes to the Native Java Runtime
  596. h. Changes to the Native Java Compiler
  597.  
  598.  
  599. a. What is covered in this addendum
  600. -----------------------------------------------------------------
  601. This addendum discusses items that couldn't be covered in other
  602. documentation due to time constraints.
  603.  
  604. The primary topics discussed are the resource binding feature and 
  605. limitations present in the current implementation of Symantec 
  606. Native Java.
  607.  
  608.  
  609. b. Resource binding
  610. -----------------------------------------------------------------
  611. You can bind your resources (e.g. gif files) directly to your
  612. DLL or EXE or you can leave them on disk. For an example of how 
  613. to bind resources refer to the sample 'resource'.
  614.  
  615.  
  616. c. Differences from bytecode
  617. -----------------------------------------------------------------
  618. 1. Applets
  619.  
  620.    Native Applets are not supported. Support for running native 
  621.    applets would have to be provided by the browser vendor. 
  622.  
  623. 2. ClassLoaders and dynamic class definition
  624.  
  625.    The default native classloader will load its classes from the
  626.    executable or DLLs directly. Custom classloaders are not 
  627.    supported in native Java. Specifically the method 
  628.    ClassLoader.defineClass(..) will throw an exception if used.
  629.    The reason for this is the defineClass(..) method
  630.    allows the user to load a class from an array of bytecode. 
  631.    The native implementation understands x86 code only; it does
  632.    not understand bytecode.
  633.  
  634. 3. (Custom) Security Managers
  635.  
  636.    Security managers are meant to provide security control for 
  637.    access to several class attributes (properties and methods). 
  638.    Currently this is not supported in native Java, as it comes 
  639.    with a lot of runtime overhead. Also this feature is mainly
  640.    needed for bytecode, so browsers can control what level of 
  641.    access downloaded Java bytecode will get to the local system.
  642.    Native Java is meant for applications only, and will provide
  643.    you with the fastest possible executables instead.
  644.  
  645.  
  646. d. Current Restrictions
  647. -----------------------------------------------------------------
  648. 1. JNI
  649.  
  650.    The native Java implementation provides complete support for
  651.    the Java Native Interface (JNI). Please refer to the samples
  652.    for any additional information. Currently, JNI Global 
  653.    references don't register themselves with the garbage 
  654.    collector.  The reference functions simply return the jobject
  655.    value that was passed in. 
  656.  
  657. 2. Byte code to x86 code conversion.
  658.  
  659.    We currently don't support the conversion of byte code (.class
  660.    files), to x86 code (native code). This means that in order
  661.    to use 3rd party classes you will need to have the source for
  662.    them, or you will need a DLL and import libraries from the 
  663.    vendor of the classes.  An enhancement may be made in the 
  664.    future to support this functionality.
  665.  
  666. 3. GEO components.
  667.  
  668.    The GEO package included in the symbeans components library 
  669.    was not included in the symbeans.dll; consequently, the user
  670.    cannot use the GEO components in building native applications.
  671.     
  672.  
  673. e. Automatic library lookup
  674. -----------------------------------------------------------------
  675.    When using a native DLL, under most conditions you will need
  676.    to link with the corresponding import library of that specific
  677.    DLL.  The import library name will have to be explicitly 
  678.    specified in the command line or if one is using the Visual
  679.    Cafe IDE, it has to be added to the library listing under the
  680.    project options.
  681.     
  682.    As an added feature, the native compiler will add 
  683.    information to class files that were compiled and linked to
  684.    DLLs. So, when these class files are used as class definition
  685.    lookups during a native compilation of another Java source 
  686.    code, there is no need to explicitly specify the import 
  687.    library name during that compilation. The import library will
  688.    be found automatically as long as it is located in the 
  689.    directory where the LIB environment variable specifies (e.g. 
  690.    C:\VisualCafe(WDE|PDE|dbDE)\Lib).
  691.     
  692.    This feature does not invalidate the class files as legal 
  693.    bytecode class files specific to your installation.
  694.  
  695.  
  696. f. Debugging Native Java Runtime
  697. -----------------------------------------------------------------
  698.    The default installation of Visual Cafe creates shortcuts in 
  699.    the start menu for switching between debug and release version
  700.    of the Native Java runtime DLLs. In order to step into the 
  701.    runtime source while debugging, you must first switch to the
  702.    debug versions of these DLLs. These DLLs reside in your 
  703.    windows\system (system32 for Windows NT). These Debug DLL 
  704.    files and redistributable DLL files can also be found on the 
  705.    Visual Cafe installation CD under VCafe. 
  706.  
  707.  
  708. g. Changes to Native Java Runtime
  709. -----------------------------------------------------------------
  710. * snjres tool now exits with error code of 0 if there are no 
  711.   problems.  The exit code was random before.
  712.  
  713. * snjreg tool crash problem fixed.
  714.  
  715. * System.getProperty( "java.version" ) now returns "1.1.4" 
  716.   instead of "Unknown Version".  The following symbeans 
  717.   components are affected by this:
  718.     symantec.itools.awt.TreeView
  719.     symantec.itools.awt.MultiList
  720.  
  721. * JNI bug fixed - passing arguments to methods from C/C++ code.
  722.  
  723. * Added internationalization support DLLs.
  724.  
  725.   Groupings are based upon locale_str.h.
  726.  
  727.   snjint    - additional internationalization support classes.
  728.  
  729.   snj_ext   - Extra encoding classes that don't
  730.           have an associated locale in
  731.           java\text\resources and that are not
  732.           platform specific.  ( EBCDIC, Taiwanese )
  733.  
  734.   snj_mac   - Encodings for the Macintosh platform.
  735.  
  736.   snj_la    - Catalan, German
  737.           ( Germany, Austria, Switzerland ),
  738.           English ( Canada, GB, Ireland ),
  739.           Spanish, Italian, Dutch
  740.  
  741.   snj_ibm   - Misc. IBM encodings
  742.  
  743.   snj_fr    - French for all supported locales.
  744.           ( France, Belgium, Canada, Switzerland )
  745.  
  746.   snj_is    - Icelandic
  747.  
  748.   snj_sv    - Swedish, Norwegian ( Nynorsk ), Danish,
  749.           and Finnish
  750.  
  751.   snj_pt    - Portuguese
  752.  
  753.   snj_ar    - Arabic
  754.  
  755.   snj_ru    - Belorussian, Bulgarian, Macedonian,
  756.           Russian, Serbian, Ukrainian
  757.  
  758.   snj_pl    - Czech, Hungarian, Polish, Romanian,
  759.           Serbo-Croatian, Slovak, Slovenian, Albanian
  760.  
  761.   snj_el    - Greek
  762.  
  763.   snj_et    - Estonian, Lithuanian, Latvian, Lettish
  764.  
  765.   snj_iw    - Hebrew
  766.  
  767.   snj_ja    - Japanese
  768.  
  769.   snj_ko    - Korean
  770.  
  771.   snj_tr    - Turkish
  772.  
  773.   snj_zh    - Chinese
  774.  
  775.   snj_tw    - Taiwanese
  776.  
  777.   The import libraries for each group name ends with .lib and
  778.   the DLLs are in the form of snj*11.dll
  779.  
  780. * Added native JDBC-ODBC bridge and other sun support classes.
  781.  
  782. * Garbage collection bug fixed - different problems with garbage
  783.   collecting static objects.
  784.  
  785. * Linked/bounded resource bug fixed - problem with the call
  786.   Toolkit.getImage(URL) when resource is linked/bounded into
  787.   the application.
  788.  
  789. * MediaTracker bug fixed - problem with loading more than 10
  790.   resources using MediaTracker.
  791.  
  792. * Fixed initialize problem that broke output streams on Japanese
  793.   ( as well some other ) systems.
  794.  
  795. * Several changes to reduce the number of 'C' runtime file 
  796.   handles consumed.
  797.  
  798. * AWT bug fixed - problem with using AWT components in NT4.0 
  799.   with Service Pack 3 installed and when display is set to 24 
  800.   bit colors.
  801.  
  802. * Key input events in AWT bug fixed - problem with inputting 
  803.   certain key combinations like the 'umlaut' character in AWT.
  804.  
  805. * Thread.stop() now works in most cases.  When Thread.stop() is 
  806.   called, a ThreadDeath exception gets noticed when the thread 
  807.   calls sleep() or yield(), or if the thread passes into 'C' code
  808.   and tries to come back.
  809.  
  810.  
  811. h. Changes to the Native Java Compiler
  812. -----------------------------------------------------------------
  813. * Garbage collection bugs were fixed. In certain rare cases,
  814.   compiler-generated objects (members of statically allocated
  815.   objects) would be incorrectly garbage collected, yielding 
  816.   runtime null-pointer exceptions. As a result of these changes,
  817.   compilers of version 210.184 and later require the use of 
  818.   runtime DLLs version 113.044 or higher.
  819.  
  820. * Two native floating point code generation bugs were fixed. One
  821.   regarded extreme values and integer conversion, and another
  822.   regarded expressions involving sign changes and common
  823.   subexpressions.
  824.  
  825. * All reproducible cases of compiler-reported internal errors 
  826.   have been addressed.
  827.  
  828. * Memory usage of the compiler is now more efficient. It will now
  829.   use less memory when compiling large projects.
  830.  
  831. * Fixed bug in producing proper names for overloaded native 
  832.   methods.
  833. <<end PDE and dbDE only>> 
  834.  
  835.  
  836. VII.   JFC
  837. =================================================================
  838.  
  839. Contents:
  840.  
  841. 1.  How does Visual Cafe support Swing?
  842. 2.  Deploying your Applet with Swing components.
  843. 3.  Known Issues and Workarounds.
  844. 4.  How to install a new version of Swing.
  845. 5.  Future support for Swing.
  846. 6.  Swing resources.
  847.  
  848.  
  849. 1. How does Visual Cafe support Swing?
  850. --------------------------------------
  851. We have done several things to make Swing work within Visual Cafe 
  852. 2.5a that are not in previous releases of VCafe.
  853.  
  854. * The code generation for components dropped onto a bean that 
  855. implements RootPaneContainer such as JFrame and JApplet will 
  856. produce getContentPane().add(xxx)  
  857.  
  858. * You can create a JMenu Hierarchy by drag and drop.  For example, 
  859. drag a JMenuBar onto a JFrame, then a JMenu onto the JMenuBar, and 
  860. finally a JMenuItem on the JMenu.  If you want to use the menu 
  861. editor, you can use the standard JDK Menu components and add them 
  862. to a JFrame.
  863.  
  864. * Swing is part of the default parse information.  This means you 
  865. can view Swing in the Class Browser, Hierarchy Editor, Class Wizard, 
  866. etc. 
  867.  
  868. * The Jar Utility can pull in the Pluggable Look and Feels that you 
  869. specify.
  870.  
  871.  
  872. * We made property editors for properties that can be set with 
  873.   the Swing constants.
  874.  
  875.  
  876.  
  877. 2. Deploying your Applet with Swing components
  878. ----------------------------------------------
  879. There are a couple ways to do this:
  880.  
  881. 1.  Have the target audience use the Project Java Activator (see 
  882.     Resources below). This runs applets as a plug-in in 
  883.     Communicator 3.0+,and Explorer 3.0+. The file, swingall.jar, 
  884.     is already on the user's machine. You just provide the classes
  885.     needed that aren't in swing on the server.
  886.  
  887. 2.  Include an ARCHIVE tag with two jars. One of them is 
  888.     swingall.jar, and the other one is a jar with all the 
  889.     non-swing classes. Note that Communicator doesn't support the
  890.     ARCHIVE tag, and you'll have leave your classes unjarred on 
  891.     the server. This can lead to a long download time as you can 
  892.     imagine. Also, the user will need Explorer 4.0+ or Communicator 
  893.     4.03+ with the JDK 1.1 patch.
  894.  
  895. 3.  The target audience can have a copy of swingall.jar on their 
  896.     machine and in their classpath. Also, the user will need 
  897.     Explorer 4.0+ or Communicator 4.03+ with the JDK 1.1 patch.
  898.          
  899. When you are ready to deploy your applet, you can use the JAR 
  900. Utility to create a JAR with all the necessary swing classes.   
  901.  
  902.  
  903.  
  904. 3. Known Issues and Workarounds
  905. -------------------------------
  906. * Code is not generated for adding components to JTabbedPane, 
  907.   JSplitPane, JTree, etc. For example, when you drop a JPanel on 
  908.   a JTabbedPane, code gen for addTab() won't be generated. You 
  909.   add this code after the //{{INIT_CONTROLS block.
  910.  
  911. * When using a JPanel on an Applet (not JApplet) events are not 
  912.   propagated in the AppletViewer or Communicator.
  913.  
  914. * JSlider doesn't initially paint correctly. If you manually 
  915.   call setValue() after the //{{INIT_CONTROL block it will paint 
  916.   properly.
  917.  
  918. * The Win32 DLLs for swing are not included.
  919.  
  920. * When dropping a JComboBox on the Form Designer, you will get an 
  921.   error message. This means that the index needs to be set.    
  922.    
  923. * The JDialog icon is not included.
  924.  
  925. * There are cases where compressing your jar will fail with Swing 
  926.   components. JAR your project uncompressed and it should complete 
  927.   properly.
  928.  
  929. * If you install Visual Cafe without the JFC option, then at a later 
  930.   time run the installer to install JFC, you will need to manually 
  931.   insert swingall.jar into the component library.
  932.  
  933.  
  934.  
  935. 4. How to install a new version of Swing
  936. ----------------------------------------
  937. When a new version of Swing comes out, follow these steps to 
  938. integrate it into Visual Cafe.
  939.  
  940. 1.  Exit Visual Cafe if it is running.
  941.  
  942. 2.  Replace the /<"vcafe">/Jfc directory with the new version of 
  943.     Swing.
  944.  
  945. 3.  Unzip the source (src.zip) into /<"vcafe:>/Jfc retaining the 
  946.     directory structure.
  947.  
  948. 4.  In /<"vcafe">/bin delete "jdk.vep" and "jdk.ve2"
  949.  
  950. 5.  Restart VCafe.
  951.  
  952. 6.  When prompted to reparse the JDK, select Yes.  This will take
  953.     a few minutes.
  954.  
  955. 7.  After parsing is finished, start a new JFC Applet project 
  956.     and open the Class Browser.  You should be able to see the 
  957.     Swing packages and methods.
  958.  
  959.  
  960.  
  961. 5. Future support for Swing
  962. ---------------------------
  963. We are currently working on adding additional support for Swing 
  964. within Visual Cafe. We also welcome your suggestions which you 
  965. can send us by posting them in the Visual Cafe newsgroups. 
  966. Additional information on the newsgroups can be found at the end 
  967. of this file.
  968.  
  969.  
  970.  
  971. 6. Swing resources
  972. ------------------
  973. Project Java Activator:  Visit http://developer.javasoft.com  
  974. This site provides information on you how to download the 
  975. program and to put the correct tags in your html 
  976. file to use it.
  977.  
  978. Swing: Check out 
  979. http://java.sun.com/products/jfc/swingdoc-current/index.html 
  980. for the information about Swing Sun has to offer.
  981.  
  982.  
  983. VIII.  JAR Packager
  984. =================================================================
  985.  
  986.  
  987. 1. Overview of features.
  988. 2. JAR Packager options.
  989. 3. Files generated by the JAR Packager.
  990. 4. Known Bugs.
  991. 5. What to do about bugs.
  992. 6. Feedback.
  993. 7. General Issues
  994.  
  995.  
  996. 1. Overview of features
  997. -----------------------
  998. Here is a basic description of the JARing process.
  999.  
  1000. 1. The project is built
  1001.  
  1002. 2. The JAR Packager is invoked.
  1003.  
  1004. 3. It calls sj -depend x.dar on your Java source files to 
  1005.    determine the dependencies.
  1006.  
  1007. 4. If you selected JAR... the dependencies are displayed. 
  1008.    If you selected Auto JAR go to step 11. Auto JARing selects 
  1009.    the checkbox in step 11 to true.
  1010.  
  1011. 5. For non-java files that are part of your project (e.g.: 
  1012.    .gif) the package is guessed based on your CLASSPATH.
  1013.  
  1014. 6. You can exclude selected files via the Remove Files 
  1015.    button.
  1016.  
  1017. 7. You can remove entire JAR/ZIP files or entire packages 
  1018.    as well as recover removed files via the Manage Files... 
  1019.    button.
  1020.  
  1021. 8. You can set what classes are Java-Beans or Design-Time-Only 
  1022.    using the check boxes (see the Java Beans spec at 
  1023.    http://www.javasoft.com for more info).
  1024.  
  1025. 9. You can set the Depends-On clause for each entry as required 
  1026.    using the Manage Dependencies... button (see the JAR spec at 
  1027.    http://www.javasoft.com for more info). Depends-On: should be 
  1028.    used for any dynamically loaded classes or any resources 
  1029.    (resource bundles, images, etc).
  1030.  
  1031. 10. If you are creating a JavaBean that you want added to the 
  1032.     Visual Cafe Component Library you should select the Add To 
  1033.     Library checkbox.
  1034.  
  1035. 11. Once you have set up your JAR the way you want you can click
  1036.     OK and the JAR will be created.
  1037.  
  1038. Notes on Step 4:
  1039.  
  1040. 4a. If you are creating a Debug build then, by default, all 
  1041. dependent files that are in archive (JAR/ZIP) files are
  1042. not included in the JAR. This can be over-ridden with the 
  1043. IgnoreArchivesInDebug.
  1044.  
  1045. 4b. If you are creating a Final build then, by default, all 
  1046. dependent files that are in archive (JAR/ZIP) files are
  1047. included in the JAR. This can be over-ridden with the 
  1048. IgnoreArchivesInRelease.
  1049.  
  1050. 4c. If you are using Swing classes and you are including 
  1051. files from archives (4a, 4b) some additional steps are
  1052. performed:
  1053.  
  1054.  4c.1. if you have the Swing.include flag set to false then 
  1055.  no Swing classes are included. Go to step 5.
  1056.  
  1057.  4c.2. if you selected Project|Auto JAR go to 4c.4
  1058.  
  1059.  4c.3. if you have the Swing.promptForLAFs flag set to true 
  1060.  a dialog is shown allowing you to select the Look And Feels 
  1061.  to include in the JAR. Go to 4c.6
  1062.  
  1063.  4c.5 if you have the Swing.promptForLAFs flag set to false 
  1064.  the Swing.defaultLAFs Look And Feels will be selected.
  1065.  
  1066.  4c.6 the selected Look And Feels are added to the dependency 
  1067.  list.
  1068.  
  1069.  
  1070. 2. JAR Packager options
  1071. -----------------------
  1072. The JAR Packager has a number of configurable options. At 
  1073. the moment you must configure the options by hand - We are 
  1074. working on a way to set these through the JAR Packager GUI.
  1075.  
  1076. ***IMPORTANT***
  1077. The following directions are case sensitive. If you do not 
  1078. enter the information with the exact case given the Options 
  1079. will not work.
  1080. ***************
  1081.  
  1082. If you are using Visual Cafe 2.1
  1083. - Copy the sample Bundler.properties file to the 
  1084. VisualCafe\java\lib directory.
  1085.  
  1086. - This will give you :
  1087.  
  1088. VisualCafe\java\lib\Bundler.properties
  1089.  
  1090.  
  1091. You can get a list and description of the options by going 
  1092. to a DOS prompt and typing :
  1093.  
  1094. java symantec.itools.vcafe.Bundler -options
  1095.  
  1096.  
  1097. You can get the current settings of the options by going to 
  1098. a DOS prompt and typing :
  1099.  
  1100. java symantec.itools.vcafe.Bundler -settings
  1101.  
  1102.  
  1103. To set a particular option (e.g., Debug) all you need to do is 
  1104. edit the Bundler.properties file appropriately. For example, 
  1105. to set the Debug option you would add the following line to 
  1106. the Bundler.properties file:
  1107.  
  1108. Debug=true
  1109.  
  1110.  
  1111. You do not need to provide settings for each option. If you 
  1112. do not set a value (or do not provide a Bundler.properties 
  1113. file) the JAR Packager will use the default for all unset 
  1114. options.
  1115.  
  1116. Description of options:
  1117.  
  1118. A default Bundler.properties file is included please look at 
  1119. it for explanations of the options.
  1120.  
  1121.  
  1122. 3. Files generated by the JAR Packager
  1123. --------------------------------------
  1124. The JAR packager always generates the following files:
  1125.  
  1126. - <projectname>.bundler
  1127. A serialized file used for storing options (like the JAR 
  1128. Name, compression, etc) between runs.
  1129.  
  1130. The JAR Packager can keep some other files around (by 
  1131. using the KeepFiles flag):
  1132.  
  1133. - bundler.rsp
  1134. The files passed to the compiler to compute the 
  1135. dependencies.
  1136.  
  1137. - bundler.dar
  1138. The list of dependencies
  1139.  
  1140.  
  1141. 4. Known issues
  1142. ---------------
  1143. If you get an error saying that the JAR Packager cannot 
  1144. calculate the entries and to make sure that your project is 
  1145. buildable do the following:
  1146.  
  1147.   Project|Build
  1148.  
  1149. If that is successful then look for any warnings in the 
  1150. output window.
  1151.  
  1152. Either fix the warnings or turn the TestSJOutput to false
  1153. Abstract Classes with BeanInfo files are marked as 
  1154. JavaBeans - this will cause a warning on introspection.
  1155.  
  1156. - Given: 
  1157.  
  1158. package1.X.class
  1159. package1.XBeanInfo.class
  1160. package2.X.class
  1161.  
  1162. Both package1.X and package2.X are marked as Beans.
  1163.  
  1164.  
  1165. 5. What to do about bugs
  1166. ------------------------
  1167. If you encounter a bug in the JAR Packager please follow the 
  1168. directions in the "Technical Support" section unless the Bug 
  1169. is an "Internal Exception" dialog.
  1170.  
  1171. If you get an "Internal Exception" Dialog please do the 
  1172. following:
  1173.  
  1174. 1. Turn off the JIT (Just In Time compiler) (add 
  1175.    JAVA_COMPCMD=DIS to the VisualCafe\bin\SC.INI file)
  1176.  
  1177. 2. Re-start VisualCafe 
  1178.  
  1179. 3. Turn on the Debug option (Debug=true)
  1180.  
  1181. this will generate a C:\Bundler.log (you can change the 
  1182. name of this file via the "DebugLog=" option).
  1183.  
  1184. 4. Post the ***ENTIRE*** contents of the DebugLog file to 
  1185. the symantec.support.devtools.windows.vcafe4java.Deployment 
  1186. newsgroup.
  1187.  
  1188.  
  1189.  
  1190. 6. Recent Bug Fixes
  1191. -------------------
  1192. Improved Swing support.
  1193. IgnoreArchives flags for Debug/Final builds.
  1194. Some errors that were not getting logged now are.
  1195. Added TestSJOutput flag.
  1196. Fixed bug with a space in the output dir.
  1197. Sped the JARing up from the slowdown in 3.0.0.
  1198.  
  1199. 7. General Issues
  1200. -----------------
  1201. Dynamically loaded classes forName(...); getResource(...); 
  1202. getBundle(...) do not show up as JAR entries; you must add 
  1203. them manually.
  1204.  
  1205. There is a bug in the JDK that results in corrupt JAR 
  1206. entries being created in compressed JARs. If you get a
  1207. Cannot Find File error message when creating a JAR, you 
  1208. may be able to fix it by uncompressing the JAR that you 
  1209. are getting the class from and re-JAR'ing it without 
  1210. compression.
  1211.  
  1212. When entries are coming from another JAR that have 
  1213. Depends-On clauses the dependent classes will also be
  1214. pulled into your JAR. However, the dependent classes will 
  1215. not be marked as dependents of the entry.
  1216.  
  1217. When creating a JAR from a project, you should not create 
  1218. a JAR that has the same name as a JAR that is referenced 
  1219. outside of your project. For example: If you are using a 
  1220. SpecialGrid in c:\SGRID.JAR from a third party vendor in 
  1221. your project, do not create a JAR with the name of 
  1222. c:\SGRID.JAR.
  1223.  
  1224.  
  1225. IX. Database Development Edition
  1226. ================================================================
  1227. For information on new features for Visual Cafe for Java Database
  1228. Development Edition, see the What's New.pdf on the CD.
  1229.  
  1230.  
  1231. Major fix
  1232. =========
  1233. We fixed an problem with optimistic concurrency whereby the
  1234. result set was not in sync with the database. There was no
  1235. data corruption in the database but the user did not see the
  1236. refreshed data till Restart was pressed. This problem only 
  1237. occurred in the JDBC API that was included in Visual Cafe 
  1238. Database Development Edition 2.1.
  1239.  
  1240.  
  1241. Change in Getting Started Instructions
  1242. ======================================
  1243. There is a correction to the instructions in the Getting Started 
  1244. manual. On page 6-17, under the heading entitled "Setting initial 
  1245. record positions," step 8, add the following lines of code rather 
  1246. than the single line listed in the documentation.  
  1247.  
  1248. DBA_registrationNavigator.restart(); 
  1249. DBA_registrationNavigator.insert();
  1250. Package_ID2.setText("780");
  1251. Number_in_Party.setText("0");
  1252. Total_Cost.setText("0");
  1253.  
  1254.  
  1255. Applet reload problem
  1256. =====================
  1257. Previously we have seen problems with applets freezing if a user 
  1258. tried to reload an active applet. This problem has been addressed.
  1259. If you are using the AppletViewer to reload an active applet, 
  1260. please add the following line of code in the applet before the 
  1261. init section:
  1262.  
  1263.  symantec.itools.db.beans.binding.databus.DataBus.initialize();
  1264.  
  1265. You only need to add this line if you are using the DBAW API.
  1266.  
  1267.  
  1268. Instantiating Query Navigator in Master Detail scenario
  1269. ========================================================
  1270. The master query navigator has to be instantiated before adding 
  1271. the detail.
  1272.  
  1273.  
  1274.  
  1275. Migration of old Applets
  1276. ========================
  1277. If you have been using a previous version of dbANYWHERE API, 
  1278. please note that the constructor of symantec.itools.db.pro.Session 
  1279. has been changed to include an additional parameter:
  1280.  
  1281.     public Session (String serverURL, boolean designtime) 
  1282.  
  1283. The additional parameter specifies whether the Session object is
  1284. instantiated at design time or run time, and is required to 
  1285. support the Symantec Visual Cafe development environment dbDE 2.1.
  1286. In Visual Cafe dbDE 2.1, the Migrate utility will automatically 
  1287. converts your existing projects to use the new Session 
  1288. constructor or
  1289.  
  1290.      new Session(serverURL,false) 
  1291.  
  1292. if using JDK 1.0.2
  1293.  
  1294. Migrating an 1.0e project with list component in the current 
  1295. environment will delete the constructor and databinding property 
  1296. for the List. Please add the constructor and set databinding 
  1297. property for this component in the source code.
  1298.  
  1299.  
  1300.  
  1301.  
  1302. Executing & Debugging applets in Netscape Navigator 
  1303. ===================================================
  1304.  
  1305. Netscape Version
  1306. ------------------------
  1307. Visual Cafe now supports the ability to debug Java applets using
  1308. Netscape Navigator. You must have version 4.04 or later of 
  1309. Netscape Communicator installed on your system. In addition you 
  1310. must  have the updated support for JDK 1.1. You may obtain this
  1311. from Netscape's web site at http://developer.netscape.com. Make 
  1312. sure you install the support patch for version 4.03 or greater.
  1313.  
  1314.  
  1315. Enabling Execution/Debugging in Netscape Navigator
  1316. --------------------------------------------------
  1317. In order for Visual Cafe to execute your applets in Netscape 
  1318. Navigator, you need to edit your project options and select 
  1319. "Execute applet in default web browser." You will also need 
  1320. to ensure that Netscape Navigator is configured as your 
  1321. default browser.
  1322.  
  1323. Avoiding Security Violations
  1324. ----------------------------
  1325. Netscape will issue security violation exceptions when you attempt 
  1326. to execute or debug applets from within Visual Cafe. To avoid this 
  1327. security constraint, please add the following options to your 
  1328. pref.js file:
  1329.  
  1330.  user_pref("unsigned.applets.low_security_for_local_classes", true);
  1331.  user_pref("signed.applets.local_classes_have_30_powers", true);
  1332.  user_pref("signed.applets.low_security_for_local_classes", true);
  1333.  user_pref("signed.applets.verbose_security_exception", true);
  1334.  
  1335. Notes
  1336.  
  1337. 1. This file states that it should not be edited by hand. In order 
  1338. to add entries to this file, you must first close all running 
  1339. instances of the Netscape Navigator. You may then edit the file 
  1340. manually.
  1341.  
  1342. 2. You will see a message in the Java console, 
  1343. "# Security Exception: checkpropsaccess.key". This message 
  1344. can be ignored.
  1345.  
  1346. For more information on Netscape security please refer to following 
  1347. URLs:
  1348.  
  1349. http://developer.netscape.com/support/faqs/champions/security.html
  1350. http://developer.netscape.com/library/technote/security/sectn3.html
  1351.  
  1352. The Netscape browser will execute and debug applets that use the 
  1353. JDBC-ODBC bridge. In order to deploy these applets, users may need 
  1354. to purchase the JDBC-ODBC solution package from Intersolv. For 
  1355. further assistance please refer to Intersolv's home page.
  1356.  
  1357.  
  1358. Microsoft's Internet Explorer Browser
  1359. =====================================
  1360. Applets can be debugged and executed, within visual cafe 
  1361. environment, in Internet Explorer. Deployed applets can also be
  1362. downloaded in Internet Explorer. 
  1363.  
  1364.  
  1365. The Microsoft browser does not support JNI, the native code 
  1366. required by Sun's JDBC-ODBC Bridge. Microsoft has its own version 
  1367. of the JDBC-ODBC Bridge, which can be obtained by downloading the 
  1368. Microsoft SDK for Java from their Web site.
  1369.  
  1370. General Web Browser Information
  1371. ===============================
  1372. Please remember that ODBC is not acceptable for untrusted applets. 
  1373. It requires access to local ODBC configurations, as well as the 
  1374. ability to load the native code for the ODBC manager and for ODBC 
  1375. drivers. The dbANYWHERE Server may be used for ODBC access when a 
  1376. three tier deployment scenario is required.
  1377.  
  1378.  
  1379.  
  1380. dbANYWHERE Server Issues
  1381. ========================
  1382. NOTE: Please refer to the dbANYWHERE Server readme.wri file for 
  1383. information on features, etc.
  1384.  
  1385. Multiple select statements
  1386. --------------------------
  1387. Sometimes the dbANYWHERE Server shows multiple select statements in 
  1388. its log window when a single operation is being performed. This 
  1389. duplication of messages can be ignored, as they do not indicate 
  1390. that the database has actually been called multiple times.
  1391.  
  1392. Informix float datatype
  1393. -----------------------
  1394. Informix supports float data types with a maximum scale value of 6.  
  1395. Attempting to use a greater scale value will result in rounded 
  1396. data values. This in turn causes update statements to fail their 
  1397. integrity constraints, thereby disallowing updates.
  1398.  
  1399. DML operations are not currently supported  
  1400. ------------------------------------------
  1401. The following datatypes are not supported in DML operations:
  1402.  
  1403. o Informix Longvarchar
  1404. o MSSQLServer and Sybase SQLServer Longvarbinary (during insert 
  1405.   operation only)
  1406. o SQLServer smallmoney and smalldatetime
  1407.    
  1408. Microsoft Access Bugs 
  1409. ---------------------
  1410. In Access every query navigator would require a different record 
  1411. definition bean which in turn would need a different jdbc connection
  1412. bean.
  1413. Access does not support != (not equal to operator) for join operator.
  1414.   
  1415. If you are working with Microsoft ODBC driver please be aware that
  1416. you need to add square brackets [ and ] around the  path name. 
  1417. For Example, if Access is a directory under an office folder in 
  1418. C drive and the database you are accessing is named foo in this 
  1419. directory. The record definition object for any table from this 
  1420. database would be named as C_office_Access_foo_tablename_Record 
  1421. where tablename is the name of the table you are trying to access.
  1422. There is a method in this object called: 
  1423.  
  1424. setTableName("C:\\Office\\Access\\foo.tablename");
  1425.  
  1426. Add [ ] to enclose the path name so that this method would be
  1427.  
  1428. setTableName("[C:\\Office\\Access\\foo].tablename");
  1429.  
  1430. Currently, we do not support column names or table names with spaces
  1431. in them. The workaround for this is to add [ ] around the column name
  1432. or table name in your record definition source code. 
  1433.  
  1434. If the Table Name property in the record definition object is clicked 
  1435. you may get a "data source not found" error. 
  1436.  
  1437. Access does not let the user change the boolean data value from 
  1438. No to Yes, while changing from Yes to No works successfully. (The 
  1439. Access boolean datatype maps to a Bit data type in Java and is 
  1440. typically displayed with a checkbox component.)
  1441.  
  1442. Views cannot be chosen through the project wizard but can 
  1443. be dropped from the dbNAVIGATOR.  This is due to a limitation in 
  1444. Access's ODBC driver.
  1445.  
  1446.  
  1447. Oracle number data type
  1448. -----------------------
  1449. Number data type with scale 0 is displayed as a decimal instead 
  1450. of an integer.  Values entered to the right of the decimal point 
  1451. will be truncated, which may be confusing to some end users.
  1452.  
  1453.  
  1454. Informix ODBC driver from Intersolv and transactions
  1455. ----------------------------------------------------
  1456. Currently the dbANYWHERE API does not support Informix databases 
  1457. when using Intersolv's ODBC driver, if the database is created to 
  1458. NOT support transactions.  Informix databases that are configured 
  1459. to support transactions will be supported via the dbANYWHERE API.
  1460.  
  1461. NOTE: Use of the Intersolv ODBC driver to Informix is always 
  1462. supported when using the JDBC API through the dbANYWHERE Server.
  1463.  
  1464.  
  1465.  
  1466. Development Environment Issues
  1467. ==============================
  1468.  
  1469. ArrayOutOfBoundException while dragging and dropping 
  1470. QueryNavigator on a form
  1471. ------------------------------------------------------------------
  1472. Dropping the QueryNavigator object from the component palette onto 
  1473. an applet will cause the QueryNavigator object to be added to the 
  1474. end of the INIT block, within the source code. This results in 
  1475. code which will not compile.  To eradicate this problem, you must 
  1476. either move the QueryNavigator above the component panel in the 
  1477. project window or move the code so that the navigator is 
  1478. instantiated before a component calls for data from that navigator.
  1479.  
  1480.  
  1481.  
  1482. List and Listplus
  1483. -----------------
  1484. There are two components with similar names, List and Listplus. 
  1485. The Listplus component is designed to work with the JDBC API and 
  1486. the List component is designed to work with the dbANYWHERE API. 
  1487. To reduce confusion, we have exposed the Listplus component (for 
  1488. JDBC) in the component palette. Meanwhile, the List component 
  1489. (for PRO) is available in the component library under 
  1490. dbAWARE components.
  1491.  
  1492.  
  1493. DBTimestamp
  1494. -----------
  1495. The default value that will be stored in the database for a 
  1496. timestamp datatype, using the DBTimestamp component is 10:10:10. 
  1497. The format of this data is HH:MM:SS.
  1498.  
  1499. If the table that this component is based on is empty then please 
  1500. add
  1501.  
  1502.  DBTSTAMP1.setType(symantec.itools.db.awt.DBTSTAMP.DATE
  1503.   or
  1504.  DBTSTAMP1.setType(symantec.itools.db.awt.DBTSTAMP.TIME
  1505.  or 
  1506.  DBTSTAMP1.setType(symantec.itools.db.awt.DBTSTAMP.TIMESTAMP)
  1507.  
  1508.  Where DBTSTAMP1 is the component name and DATE,TIME,TIMESTAMP are
  1509.  the JAVA mapping of the data type.
  1510.  
  1511.  
  1512. X.    Technical Support
  1513. =================================================================
  1514.  
  1515. During the first 90 days of your purchase, you may call Technical
  1516. Support for installation and general usage free of charge at 
  1517. (541) 465-8470.
  1518.  
  1519. 1. Free newsgroup support is available for as long as you own 
  1520.    Visual Cafe on Symantec's news server at service.symantec.com.
  1521.  
  1522.    Please refer to the news groups under:
  1523.  
  1524.     symantec.support.devtools.windows.vcafe4Java.*
  1525.  
  1526.    Note: your company's firewall may prevent you from accessing 
  1527.    this NNTP service.
  1528.  
  1529.    Please send bug reports to:
  1530.    
  1531.     techsupp@devtools.symantec.com
  1532.  
  1533. 2. If your User ID and Password become inoperative, please send
  1534.    e-mail notification to Customer Service at 
  1535.  
  1536.     cafe@symantec.com
  1537.  
  1538.    with your name, address, daytime phone number, ID and 
  1539.    password.  Please type "Visual Cafe" in the subject field. 
  1540.    We will respond shortly thereafter.
  1541.  
  1542. 3. If you have lost your Visual Cafe ID set, please send 
  1543.    notification to Customer Service at 
  1544.  
  1545.     cafe@symantec.com
  1546.  
  1547.    In the event that your information does not appear in our 
  1548.    registration database, we will provide additional avenues 
  1549.    for verification of ownership.
  1550.  
  1551. 4. For CD purchases or damaged disks please call Customer Service
  1552.    at 800-441-7234.
  1553.  
  1554.  
  1555. XI. What's new and fixed in 2.5\2.5a
  1556. ================================================================
  1557.  
  1558. 2.5
  1559. ---
  1560.  
  1561. 1. Fixed icon failure in Bean Wizard
  1562. 2. Fixed package support for Bean Wizard
  1563. 3. Fixed slow response times in form designer and parser
  1564. 4. Fixed crash when closing a running project
  1565. 5. Fixed crash when editing in class browser & focus is changed
  1566. 6. Fixed multiple JAR Packager issues
  1567. 7. Fixed project directories settings failure to save on reopen
  1568. 8. Fixed crashes on non-Intel based processors
  1569. 9. Fixed GBL ipadx\y setting resetting after project close\open
  1570. 10. Fixed incorrect Boolean property codegen in Bean Wizard
  1571. 11. Fixed incorrect codegen when overriding setSize in Bean Wizard
  1572. 12. Added online registration to installer
  1573. 13. Added better exception handling to treeview
  1574. 14. Added sort by column headers in file view
  1575. 15. Fixed crash when setting URL's for multiple components
  1576. 16. Fixed many spinner issues
  1577. 17. Added support for Multidimensional anonymous arrays
  1578. 18. Fixed Class browser not showing nested classes
  1579. 19. Fixed crash in Brief mode when column copy & paste 
  1580. 20. Added RAD on\off
  1581. 21. Added UUI
  1582. 22. Fixed codegen of Boolean properties in Bean Wizard
  1583. 23. Fixed codgen of bound and constrained properties
  1584. 24. Fixed Calendar component to return 4 digit year - year 2K
  1585. 25. Fixed crash in advanced searching - year 2K
  1586. 26. Added deselect node to treeview
  1587. 27. Added isHidden for treeNodes in treeView
  1588. 28. Fixed parse imports checkbox to toggle
  1589.  
  1590. 2.5a
  1591. ----
  1592. 1. Fixed detection of file attributes being changed outside of IDE 
  1593. 2. Fixed multi key binding support
  1594. 3. Fixed save failure when saving without read\write permissions 
  1595.    on root
  1596. 4. Fixed project corruption when saving some files into a project
  1597. 5. Fixed project corruption when starting RAD on some files
  1598. 6. Fixed bean update crash on non-existent bean
  1599. 7. Fixed code being parsed to super when bean is no longer present
  1600. 8. Fixed crash when canceling a dialog of a deleted file referenced 
  1601.    in the project
  1602. 9. Fixed focus issue with Find In Files disabling Find Again
  1603.  
  1604.  
  1605. XII. What's new and fixed in Database Edition 2.5/2.5a
  1606. ================================================================
  1607. 1.  Generating Master Detail scenario through the wizard for 
  1608.     JDBC API
  1609. 2.  New Tour using JDBC API
  1610. 3.  Year 2000 compliant
  1611. 4.  Fixed the frame freeze problem for applications with 
  1612.     multiple instances of detail frame
  1613. 5.  Fixed problems with navigation while trying to reload
  1614.     applet in browser
  1615. 6.  Fixed problem with displaying images in Internet Explorer
  1616. 7.  Improved performance for data navigation
  1617. 8.  Fixed bugs in grid to improve performance in DBAW API
  1618. 9.  Fixed problems with save method for enhanced support to
  1619.     databases that do  not support transactions
  1620. 10. Fixed problems with combo box lookup property
  1621. 11. Fixed the checkbox  
  1622.  
  1623.  
  1624.             *  *  *  *  *
  1625.  
  1626.  
  1627. Thank you for using Visual Cafe 2.5a for Java.  We are confident
  1628. that it will enhance and improve the productivity of your 
  1629. development efforts.
  1630.  
  1631. Sincerely,
  1632.  
  1633. The Symantec Internet Tools Team
  1634.