home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 November / Chip_1998-11_cd.bin / tema / Cafe / readme.txt < prev    next >
Text File  |  1998-04-07  |  63KB  |  1,699 lines

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