home *** CD-ROM | disk | FTP | other *** search
/ Delphi Anthology / aDELPHI.iso / readme.txt < prev    next >
Text File  |  1999-08-11  |  52KB  |  1,540 lines

  1. ===============================================
  2. DELPHI 5.0 RELEASE NOTES
  3. ===============================================
  4.  
  5. This file contains important supplementary and 
  6. late-breaking information that may not appear 
  7. in the main product documentation. We recommend
  8. that you read this file in its entirety.
  9.  
  10. Portions of this file contain information that
  11. applies only to specific editions of the product. 
  12. Such portions are clearly marked with the name 
  13. of the edition (Enterprise, Professional, 
  14. Standard, etc.) to which the information applies.
  15.  
  16.  
  17. CONTENTS
  18. ===============================================
  19.  
  20. -- INSTALLATION NOTES 
  21.       (READ BEFORE CONTINUING)
  22.  
  23. -- OTHER RELEASE NOTES 
  24.       INCLUDED WITH THIS PRODUCT
  25.  
  26. -- ABOUT EDITING THE REGISTRY
  27.  
  28. -- THIRD-PARTY PRODUCT NOTES 
  29.       AND KNOWN ISSUES
  30.  
  31. -- DELPHI 5 KNOWN ISSUES
  32.  
  33. -- ADDITIONAL COMPATIBILITY NOTES
  34.  
  35. -- ONLINE HELP OMISSIONS, 
  36.       CORRECTIONS, AND CLARIFICATIONS
  37.  
  38. -- DOCUMENTATION USAGE NOTES
  39.  
  40. -- DELPHI ON THE WEB
  41.  
  42.  
  43. INSTALLATION NOTES
  44. ===============================================
  45. The following items describe known issues, 
  46. behavior, and functionality that can affect 
  47. installation of this product. For other
  48. installation issues, including how to remove
  49. the product, see the file INSTALL.TXT at the
  50. root of your CD.
  51.  
  52. Minimum system requirements
  53. -----------------------------------------------
  54.   * Intel Pentium 90 or higher (P166 recommended)
  55.   * Microsoft Windows 95, 98, 
  56.     or NT 4.0 with Service Pack 3 or later
  57.   * Memory: 32MB of RAM (64MB or more recommended)
  58.   * 80MB hard disk space (Compact install)
  59.   * CD drive
  60.   * VGA or higher resolution monitor
  61.   * Mouse or other pointing device
  62.   * Networks supported: Any Microsoft Windows 
  63.     95, 98, or Windows NT or higher compatible 
  64.     network
  65.     
  66. If you've installed Delphi before
  67. -----------------------------------------------
  68. You can install to the same machine (though to
  69. a different location) as another version of the 
  70. product. If you want to install to the same 
  71. directory as an existing version, uninstall the 
  72. existing version first. In either case, you 
  73. should back up your IDAPI.CFG file (if one is
  74. present) and any other important data, including 
  75. existing projects that you intend to use with 
  76. this version.
  77.  
  78. Uninstall Internet Control Pack
  79. -----------------------------------------------
  80. If you have installed any previous release of 
  81. the Microsoft Internet Control Pack, uninstall 
  82. that version before installing Delphi.
  83.  
  84. Installing from a network or shared drive
  85. -----------------------------------------------
  86. If installing from a network or shared drive, 
  87. you must map a drive letter to the server and
  88. folder that contains the INSTALL.EXE program 
  89. that initiates installation of this product.
  90.  
  91. Windows 98 users: The directory Browse button 
  92. may cause the installation to halt 
  93. ----------------------------------------------
  94. If installing under Windows 98 with Microsoft
  95. Client for NetWare Networks and the Microsoft 
  96. Service for NetWare Directory Services (MSNDS)
  97. network clients:
  98.  
  99. Installation may exit or stop with a fatal 
  100. error message if you click the Browse button 
  101. on the directory selection dialog. 
  102.  
  103. Workaround: If you choose not to install to 
  104. the default directories, type your directory 
  105. choices into the dialog fields, rather than 
  106. clicking Browse. 
  107.  
  108. For more information on this problem, see the 
  109. following technical articles at the InstallShield 
  110. and Microsoft sites:
  111.  
  112. Search for article Q192249 at:
  113. http://support.microsoft.com/search/default.asp
  114.  
  115. Search for article Q102400 at:
  116. http://support.installshield.com
  117.  
  118. InstallShield and Microsoft Outlook 98
  119. --------------------------------------
  120. If Outlook 98 is running when you install Delphi,
  121. InstallShield will hang. We strongly recommend 
  122. that you close Outlook 98 and all other Windows 
  123. programs before installing Delphi.
  124.  
  125. Performing a Custom installation
  126. -----------------------------------------------
  127. To conserve disk space, you can perform a custom 
  128. installation, selecting only the options you 
  129. require. To do so, select the Custom radiobutton 
  130. in the Setup Type dialog during installation. Disk 
  131. space required for the total custom installation 
  132. and individual options is displayed as you select
  133. or deselect options.
  134.  
  135. Among the options is to install Registry keys only. 
  136. This option can be used to repair keys damaged as 
  137. a result of a computer crash or to set up sets of 
  138. registry keys for different user profiles. 
  139.  
  140. During a Custom install using registry keys only, 
  141. you may select to install minimal files. These are 
  142. files in the Windows system directory; the option 
  143. installs the files and defines the registry keys.
  144.  
  145. Just-In-Time Debugging
  146. -----------------------------------------------
  147. During installation, you have the option of 
  148. updating your Just-In-Time Debugger registry 
  149. settings. 
  150.  
  151. If you choose to update your registry, changes 
  152. are made to the key:
  153. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
  154.   Windows NT\CurrentVersion\AEDebug\Debugger 
  155.  
  156. The key is changed to:
  157. C:\Program Files\Borland\Delphi\bin\
  158.    bordbg50.exe -aeargs %ld %ld
  159. (where C:\Program Files\Borland\ 
  160.  is the installation directory)
  161.  
  162. If you do not perform the update during 
  163. installation, you get a second chance to update 
  164. the registry at program startup. The Just-In-Time 
  165. Debugger automatically starts when any program 
  166. running on your computer fails. Just-In-Time 
  167. debugging and distributed debugging will not work, 
  168. however, unless this registry setting is updated.
  169.  
  170. If you want to preserve your existing AEDebug 
  171. settings in case you want to change them back 
  172. at a later date, you must follow these steps 
  173. BEFORE updating the registry settings:
  174.  
  175. 1.  Run Regedit.
  176. 2.  Select the AEDebug key (noted above).
  177. 3.  Choose Registry | Export Registry File.
  178. 4.  Name and save the file containing the AEDebug key.
  179.  
  180. To restore the AEDebug settings you can:
  181.  
  182. 1.  Run Regedit.
  183. 2.  Choose Registry | Import Registry File.
  184. 3.  Specify the file in which you saved the AEDebug key.
  185.  
  186.  
  187. OTHER RELEASE NOTES 
  188. INCLUDED WITH THIS PRODUCT
  189. ===============================================
  190.  
  191. INSTALL.TXT contains system requirements 
  192. and information on installing and removing 
  193. the product.
  194.  
  195. DEPLOY.TXT contains information about 
  196. redistributing Delphi applications. 
  197.  
  198. LICENSE.TXT contains information on 
  199. licensing allowances and limitations for this 
  200. product and other Inprise software that is 
  201. bundled with it.
  202.  
  203. The three text files listed above, along with
  204. this file, are installed to your main Delphi5
  205. directory (default: c:\Program Files\Borland\Delphi5).
  206.  
  207. DEL5NEW.HLP covers new features and 
  208. compatibility issues. This file is part of 
  209. the main online Help system (see "What's New"
  210. in the Help contents or index).
  211.  
  212. Enterprise and Professional editions only:
  213. BDEREADME.TXT, BDEINST.TXT and 
  214. BDEDEPLOY.TXT contain release notes, 
  215. installation, and deployment information about 
  216. the Borland Database Engine (BDE) and 
  217. Borland SQL Links products. These files are 
  218. located in your main BDE directory 
  219. (installation default: 
  220.   c:\Program Files\Common Files\Borland Shared\Bde).
  221. IMPORTANT: Any BDE-related information in this
  222. README.TXT overrides any corresponding information
  223. provided in the BDE release notes.
  224.  
  225. Additional notes about existing issues with BDE 
  226. and utility applications supplied with BDE are 
  227. covered in the DELPHI 5 KNOWN ISSUES section
  228. later in this document.
  229.  
  230.  
  231. ABOUT EDITING THE WINDOWS REGISTRY
  232. -----------------------------------------------
  233. Warning: 
  234. Registry edits are performed at your own risk.
  235.  
  236. Several items in this document and in other 
  237. parts of the documentation that accompany this 
  238. product describe how to edit your Windows 
  239. registry. In most cases, we recommend that you 
  240. use the Microsoft Regedit tool to perform your 
  241. editing. Whatever tool you use, however, you 
  242. should, before making any edits, make backups
  243. of your registry and thoroughly familiarize
  244. yourself with the editing tool and the 
  245. registry editing process. The registry is a 
  246. critical component of your operating system, 
  247. and any mistakes made while editing it can 
  248. cause your machine to stop functioning.
  249.  
  250.  
  251. THIRD-PARTY PRODUCT NOTES 
  252. AND KNOWN ISSUES
  253. ===============================================
  254.  
  255. The following items describe issues and problems
  256. you may encounter when using Delphi 5 with other
  257. tools and applications. Additional third-party
  258. and external application issues may also appear 
  259. in the "DELPHI 5 KNOWN ISSUES" section.
  260.  
  261. Installing Microsoft Data Access Components
  262. -----------------------------------------------
  263. [Enterprise edition only]
  264. If you need to update your Microsoft Data 
  265. Access Components (MDAC) to version 2.1.2
  266. after installing Delphi, run MDAC_TYP.EXE 
  267. from the \MDAC directory on your Delphi CD.
  268.  
  269. Uninstalling when McAfee virus scanner active
  270. -----------------------------------------------
  271. Because it normally scans "outbound files" 
  272. (such as files being uninstalled), recent 
  273. versions of McAfee virus scanner may cause long
  274. delays during Delphi uninstallation. Windows NT
  275. users can switch off this protection option by
  276. right-clicking the VShield icon in the system 
  277. tray, choosing Properties, then deselecting 
  278. the "Outbound Files" option in the "Scan" 
  279. group. Windows 95/98 versions of VShield do not
  280. have the "Outbound Files" option, but users may
  281. speed the uninstall by disabling "System Scan"
  282. directly from the VShield tray icon.
  283.  
  284. Microsoft ImageList common control 
  285. and video drivers
  286. -----------------------------------------------
  287. Some older video drivers (S3 Virge GX, Diamond 
  288. Viper, Riva TNT, Matrox Millenium, and others) 
  289. have trouble handling the quantity of images 
  290. that the Delphi IDE's component palette places 
  291. in its internal ImageList control. This can cause 
  292. the component icons to appear shifted or corrupted 
  293. in the IDE component palette. The solution is to 
  294. contact your video card vendor for an updated 
  295. video driver. At the time of this writing, all 
  296. the video drivers known to exhibit problems with 
  297. the Microsoft ImageList control have been updated 
  298. with fixes by the video card vendors.
  299.  
  300. You can also work around this ImageList problem 
  301. by reducing or disabling video hardware 
  302. acceleration in your Windows configuration 
  303. settings. For instructions, consult your operating
  304. system and video hardware documentation.
  305.  
  306. ActiveX Wizard/licensing issue
  307. -----------------------------------------------
  308. [Enterprise, Professional editions only]
  309. Delphi does not directly support the licensing
  310. of ActiveX controls for Web deployment. 
  311. License package (.LPK) files, which are 
  312. required for runtime licensing of ActiveX 
  313. controls, can only be generated by 
  314. LPK_TOOL.EXE, a utility available in 
  315. Microsoft's Internet SDK. For more information 
  316. on the license-creation tool and how it is used, 
  317. visit http://support.microsoft.com 
  318. and search for "LPK".
  319.  
  320. Microsoft Transaction Server (MTS)
  321. -----------------------------------------------
  322. [Enterprise, Professional editions only]
  323. If Microsoft Transaction Server (MTS) is 
  324. installed before Delphi 5 is installed, the 
  325. only preparation required is to set MTS POOLING
  326. to TRUE in the Borland Database Engine (BDE) 
  327. configuration file. Use the BDE Administrator 
  328. to do this. The MTS POOLING setting is in the 
  329. System/Init area of the configuration. This 
  330. setting enables the BDE to use MTS pooling, 
  331. improving the initial connection time when 
  332. opening a database and allowing BDE database 
  333. connections to participate in MTS transactions.
  334.  
  335. If MTS is installed after Delphi 5 has been 
  336. installed, additional steps must be taken:
  337. 1. Copy DISP.DLL from the RUNIMAGE directory 
  338.    on your Delphi 5 CD into the BDE directory 
  339.    on the host computer.
  340. 2. Issue the following command:
  341.     REGSVR32 <BDE directory>\DISP.DLL
  342. 3. In Transaction Server Explorer, install the
  343.    BDE-MTS package:
  344.      a. Right Click on Packages Installed.
  345.      b. Choose New | Package.
  346.      c. Choose Install pre-built packages.
  347.      d. Add file DISP.PAK from the BDE 
  348.         directory.
  349. 4. Set the value of  MTS POOLING to True in 
  350.    the System/Init section of the BDE 
  351.    configuration.
  352.  
  353. Microsoft icon cache prevents icon updating
  354. -----------------------------------------------
  355. If running Delphi 5 on a Windows 95 or 98 
  356. machine on which Delphi 4 was previously 
  357. installed (even if it is no longer present), 
  358. the Delphi 4 icon set may persist in its 
  359. association to Delphi applications, overriding 
  360. the new Delphi 5 icon set. This is a known 
  361. problem with Microsoft's icon cache updating
  362. mechanism on Windows 95/98. To read about the
  363. problem and its solution:
  364. 1. Visit the Microsoft KnowledgeBase at
  365.    http://support.microsoft.com/search/default.asp
  366. 2. Choose Search All Microsoft Products from the
  367.    listbox.
  368. 3. Choose the "Keywords" option. 
  369. 3. In Search Options (lower part of the page), 
  370.    choose to search against Titles. 
  371. 4. Type the phrase "icons randomly change" 
  372.    (no quotes) into the Question field. The search 
  373.    should yield a number of article titles, any of
  374.    which should lead you to a resolution.
  375.  
  376. IntelliMouse driver v2.2
  377. -----------------------------------------------
  378. Version 2.2 of the Microsoft IntelliMouse 
  379. driver writes an invalid value to the registry
  380. when it is installed. This default value can
  381. cause some applications, including Delphi,
  382. Outlook Express, and Windows Explorer, to
  383. crash. To correct the problem:
  384. 1. Use Regedit to locate the key
  385.    HKEY_USERS\.Default\Control Panel\
  386.                Microsoft Input Devices\Mouse
  387. 2. If the value of TrayIcon is "ON", edit
  388.    the value to make it "TRUE" ("FALSE"
  389.    works as well).
  390.  
  391. ODBC certification
  392. -----------------------------------------------
  393. [Enterprise and Professional editions only]
  394.  
  395. The following ODBC drivers  are certified for 
  396. use with Delphi 5 and BDE.
  397.  
  398. ODBC Driver Manager 3.5
  399.  
  400. Fully certified drivers:
  401.  
  402. ACCESS (Microsoft 3.40-Access 95 and 97)
  403. FOXPRO (Microsoft 3.40)
  404. MSSQL Server (Microsoft 3.00-Server version 6.5)
  405. MSSQL Server (Intersolv 3.01-Server version 6.5)
  406. ORACLE 7 (Intersolv 3.01-Server version 7.3)
  407.  
  408. Certified for basic functionality:
  409.  
  410. INFORMIX (Intersolv 3.01
  411.     - Server version 7.20 and 9.11)
  412. DB2 (IBMv5 client 6/98
  413.     - No driver version info available: 
  414.       tested against 2.12 and 5.0(UDB) server
  415. SYBASE (Intersolv 3.01
  416.     - Server version 11.02)
  417.  
  418. ODBC Driver Manager 3.51
  419.  
  420. Fully certified drivers:
  421.  
  422. ACCESS (Microsoft 3.51-Access 95 and 97)
  423. FOXPRO (Microsoft 3.51)
  424. MSSQL Server (Microsoft 3.6
  425.     - Server version 6.5 and 7.0)
  426. MSSQL Server (Intersolv 3.11
  427.     - Server version 6.5 and 7.0)
  428. ORACLE7 (Intersolv 3.11
  429.     - Server version 7.3)
  430.  
  431. Certified for basic functionality:
  432.  
  433. DB2 (IBMv5 client 6/98
  434.     - No driver version info available: 
  435.       tested against 2.12 and 5.0(UDB) server
  436. SYBASE (Intersolv 3.11
  437.     - Server version 11.02)
  438. ORACLE8 (Intersolv 3.11
  439.     - Server version 7.3 and 8.04)
  440.  
  441.  
  442. DELPHI 5 KNOWN ISSUES
  443. ===============================================
  444. For additional late-breaking Delphi 5 usage 
  445. notes, see the section "ONLINE HELP 
  446. OMISSIONS, CORRECTIONS, AND 
  447. CLARIFICATIONS" later in this document.
  448.  
  449. ADO issues
  450. -----------------------------------------------
  451. [Enterprise edition only]
  452.  
  453. When using TADOTable or TADODataSet, an error
  454. may occur when retrieving a list of table names 
  455. from Microsoft SQL Server 6.5. To correct the 
  456. problem, you must install the latest 
  457. SQL Server 6.5 Service Pack (currently 5a), 
  458. or update the system catalog as described in 
  459. the MDACREADME.TXT file that accompanies 
  460. MDAC 2.1. 
  461.  
  462. When using the Filter property on the ADO
  463. dataset components, ADO requires a space  
  464. between operators and field names. 
  465. For example,field>0 fails, field > 0 works.
  466.  
  467. You cannot open tables or procedures that 
  468. contain mixed case names on Oracle servers 
  469. unless the names containing lower case letters
  470. are enclosed in quotation marks. Affects 
  471. ADODataSet, ADOCommand, ADOTable, and 
  472. ADOStoredProc objects.
  473.  
  474. The IndexName and Seek methods of TADODataSet 
  475. currently only work with the Microsoft Jet 4.0 
  476. provider when using a database file created with 
  477. Access 2000.
  478.  
  479. The Oracle provider included with the MDAC runtime 
  480. does not support Oracle 8 datatypes (CLOB, BLOB, 
  481. NVARCHAR2, NCHAR, etc.).
  482.  
  483. When using the Merant (Informix 7, 9) provider, 
  484. MSADO15.DLL generates an AV when working with
  485. Stored Procedure parameters.
  486.  
  487. ADO does not support case-sensitive filters
  488. or find operations.  Because of this, the
  489. FilterOptions and LocateOptions on the ADO
  490. dataset components do not respect the case
  491. sensitive option and always return case-insensitive
  492. results.
  493.  
  494. When opening tables or stored procedures on an 
  495. Oracle server, you must put double quotes around 
  496. any mixed case names as required by the server 
  497. ("TableName").
  498.  
  499. When using the ADO Dataset components on a 
  500. MIDAS application server, ensure that the
  501. Active property is set to false at design
  502. time to ensure that any Refresh after
  503. an update will return the correct data.
  504.  
  505. When using the TParameters.CreateParameters
  506. method, ADO requires that the size parameter
  507. be set to a value greater than zero if the
  508. value parameter is null.
  509.  
  510. When using the Microsoft Jet 3.51 provider,
  511. an error will occur if you bind values to
  512. boolean columns using ftBoolean.  The problem
  513. is corrected in the 4.0 provider.  You can
  514. bind the parameters as ftInteger to workaround
  515. the problem.
  516.  
  517. When using the pfXML option with the 
  518. TADODataSet.SaveToFile method, you
  519. must first install version 5.0 of Internet
  520. Explorer in order to reload the data.  The XML
  521. parser which is required to interpret the data
  522. is not included with the 2.1 MDAC runtime.
  523.  
  524. MIDAS\InternetExpress
  525. -----------------------------------------------
  526. [Enterprise edition only]
  527.  
  528. There is a known design-time problem when 
  529. building an Internet Express application 
  530. that uses a local provider: Each time the project 
  531. is reloaded, the XMLBroker Connected property 
  532. is reset to False, and you must manually reset
  533. it to True.
  534.  
  535. When a MIDAS server will not shut down as 
  536. expected: 
  537. A client Web application may not always be 
  538. able to shut down a MIDAS server launched via 
  539. an HTTP connection or via DCOM from an 
  540. InternetExpress client unless the DCOM user 
  541. account is set to "Interactive User" on the 
  542. server machine. To set this permission, run 
  543. DCOMCNFG.EXE on the server machine, choose 
  544. your MIDAS server from among the listed 
  545. Applications, press Properties, then 
  546. Identities, and select Interactive User. In 
  547. subsequent sessions, the server may be shut 
  548. down as expected.
  549.  
  550. "Invalid Filename" is returned trying to 
  551. Activate a ClientDataSet when:
  552. -- A MIDAS server has a provider located on a 
  553.    Novell network; or
  554. -- A ClientDataSet attempts to connect to a 
  555.    MIDAS server on another machine.
  556. The solution to both of these situations is the
  557. same as that described in the previous note 
  558. (set the MIDAS server Application Identity 
  559. to "Interactive User").
  560.  
  561. The Netscape browser does not support XML Islands,
  562. and, as a result, will crash with an out-of-memory
  563. error when the InternetExpress application 
  564. accesses MIDAS data with a very large data packet.
  565. This behavior also occurs if using Internet Explorer
  566. without XML Islands support (if using Islands, 
  567. it does not occur).
  568.  
  569. Current versions of the Netscape browser do not
  570. support Unicode. Thus, if you input DBCS 
  571. characters into a Dataset field, the characters
  572. will not display correctly in a Netscape 
  573. browser. This problem does not occur in 
  574. Internet Explorer.
  575.  
  576. InternetExpress clients accessing multi-byte 
  577. character set (MBCS) data from a MIDAS 
  578. server will receive the error 
  579. "<MBCS fieldname>:name not found in rowset"
  580. unless the MIDAS server is running on an MBCS
  581. operating system.
  582.  
  583. ActiveX imports
  584. -----------------------------------------------
  585. [Enterprise and Professional editions only]
  586.  
  587. If you import an ActiveX control and a _TLB.pas
  588. file already exists with the same name as the 
  589. imported control, you are asked if you want to 
  590. overwrite the existing _TLB. If you choose to 
  591. overwrite and continue, it may appear that the 
  592. file was not overwritten (the behavior of what 
  593. should have been the overwritten control 
  594. remains in effect).
  595.  
  596. In fact, the overwrite does occur, but the IDE
  597. will not recognize the new control until you 
  598. close and then reopen the newly created 
  599. _TLB.pas file (without saving it, since you've
  600. already performed the overwrite).
  601.  
  602. ActiveX imports (Windows 98 only):
  603.  
  604. Importing certain OLE servers when running 
  605. Delphi under Windows 98 will result in the 
  606. generation of packages with invalid bitmaps. 
  607. These bitmaps will be replaced with the default 
  608. Delphi three-object icon when the package is 
  609. installed on the component palette.
  610.  
  611. To get the correct icons, re-import the server 
  612. under Windows NT and use the .dcr generated by 
  613. that import, rather than the .dcr generated 
  614. under Windows 98, when installing the package
  615. onto the palette.
  616.  
  617. Frames
  618. -----------------------------------------------
  619. Multi-level references and indirect event 
  620. calls are not automatically generated in 
  621. nested frames. Such multi-level functionality
  622. must be coded separately.
  623.  
  624. When creating templates from frames make sure 
  625. the frame source is saved before creating the
  626. template or adding the frame to the palette. 
  627. Doing so will avoid later problems if the frame
  628. is saved under a different name.
  629.  
  630. When using TChart components and frames on the 
  631. same form, changes to the components are not 
  632. inherited from frame to frame. 
  633. Recommendation: Do not change TChart component
  634. settings when using the components on forms 
  635. with frames.
  636.  
  637. Cached updates and master-detail relationships
  638. -----------------------------------------------
  639. [Enterprise and Professional editions]
  640. Cached Updates cannot be used effectively with
  641. TQuery components when doing master-detail 
  642. links (DataSource property). This is because 
  643. the detail query is reexecuted each time the 
  644. master record pointer moves. 
  645.  
  646. SQL Explorer and Sybase 11.5 
  647. -----------------------------------------------
  648. [Enterprise edition only]
  649. When SQL Explorer connects to a Sybase 11.5 
  650. server, the following problems occur:
  651. -- The server type is shown as 
  652.    "SYBASE: Unknown Version: Mapping error: 
  653.    Bad template: SQL Server/([0-9]+)\."
  654. -- If the text tab is selected for a table with
  655.    a numeric field, a "Property Precision does 
  656.    not exist" error message is generated.
  657. -- The server displays only Columns, Indices 
  658.    and Triggers in table trees.
  659. Workaround for above three problems: 
  660. edit DBX.DBI, located in your Delphi5/Bin 
  661. directory, and change the line:
  662.   SYBASE:IdentityRE=SQL Server/([0-9]+)\.
  663. to (these two lines should be on one line 
  664. in the DBI file): 
  665.   SYBASE:IdentityRE=[SQL Server]
  666.   [Adaptive Server Enterprise]/([0-9]+)\.
  667.  
  668. BLOB limitations
  669. -----------------------------------------------
  670. [Enterprise and Professional editions only]
  671.  
  672. When using ODBC, BLOB size is limited to 
  673. 1,000,000 (1 million, not 1 MB) bytes. 
  674. Attempting to post a larger record generates an
  675. "Invalid Blob Size" error.
  676.  
  677. You may experience more severe limitations 
  678. using BLOBs with SQL Anywhere. When using 
  679. that product, problems have been encountered 
  680. when trying to read BLOBs as small as 24-32K 
  681. in a dead query.
  682.  
  683. Images in a TTreeView
  684. -----------------------------------------------
  685. TTreeView cannot repaint a node's image when 
  686. its ImageIndex is set outside of 
  687. OnGetImageIndex (e.g., in a button click) 
  688. and OnGetImageIndex is assigned (if the event 
  689. handler is not assigned, it works correctly). 
  690. This is due to a limitation in the TreeView 
  691. control and is designed to avoid recursion. 
  692. A simple workaround is to call 
  693. TreeView.Invalidate after setting the 
  694. ImageIndex.
  695.  
  696. RichEdit controls
  697. -----------------------------------------------
  698. If CoInitializeEx is called with 
  699. COINIT_MULTITHREADED or CoInitFlags has 
  700. been set to  COINIT_MULTITHREADED and you
  701. have a form containing a RichEdit control, 
  702. creation of the RichEdit control will fail. 
  703. If you need to use the RichEdit control in a 
  704. multi-threaded OLE server, subclass the control
  705. and override CreateParams in order to set the 
  706. correct style.
  707.  
  708. Overloaded routines and default parameters
  709. -----------------------------------------------
  710. Overloaded routines with default parameters are
  711. not always handled correctly by the compiler. 
  712. Overloaded procedures and functions that have 
  713. default parameters should be converted to 
  714. equivalent routines that are overloaded but do
  715. not use default parameters.
  716.  
  717. For example, the following code:
  718.  
  719.   procedure Proc1(S: string; I: Integer = 0); overload;
  720.   procedure Proc1(F: Float; I: Integer = 0); overload;
  721.  
  722. should be converted to:
  723.  
  724.   procedure Proc1(S: string); overload;
  725.   procedure Proc1(S: string; I: Integer); overload;
  726.   procedure Proc1(F: Float); overload;
  727.   procedure Proc1(F: Float; I: Integer); overload;
  728.  
  729. The implementation of Proc1(S: string) 
  730. would then be:
  731.  
  732.   procedure Proc1(S: string);
  733.   begin
  734.     Proc1(S, 0);
  735.   end;
  736.  
  737. Project Browser
  738. -----------------------------------------------
  739. The References page of the Project Browser 
  740. finds occurrences of most items, including 
  741. properties and global routines, across all 
  742. project source files. But it finds occurrences
  743. of a method only in the unit where the method 
  744. is declared. This limitation will be removed 
  745. in a future release.
  746.  
  747. Docking issues
  748. -----------------------------------------------
  749. On a dockable form, TreeViews will lose their 
  750. items when docking and undocking from a 
  751. docksite parented by an MDI form. 
  752. Workarounds:
  753. 1. Parent the TreeView to something other than
  754.    the docking form (such as a panel).
  755. 2. Use the TreeView's FloatingDockSiteClass 
  756.    form as the floating dock host.
  757.  
  758. Warning: Do not use duplicate menu names
  759. -----------------------------------------------
  760. If a form contains a menu control and all of the
  761. names in the menu control are not unique, an 
  762. error will occur if you use the form to create a 
  763. new inherited form. The error will occur, for 
  764. example, if two or more blank menu items exist.
  765.  
  766. Menu Shortcut Conflicts
  767. -----------------------------------------------
  768. Menu shortcuts in the IDE may conflict with 
  769. system shortcuts and international character key
  770. combinations. If you want to disable the Ctrl+Alt 
  771. hot keys in the IDE, set this DWORD registry key:
  772.  
  773. HKEY_CURRENT_USER\Software\Borland\Delphi\5.0\
  774.    Editor\Options\
  775. NoCtrlAltKeys to "1"
  776.   
  777. BDE and related utility application issues
  778. -----------------------------------------------
  779. [Enterprise and Professional editions only]
  780.  
  781. A threading problem occurs if you set the 
  782. session property sesCFGMODE2 to cfgmVirtual
  783. and/or cfgmSession (though cfgmPersistent 
  784. works). Specifying either of the two noted
  785. settings can cause a GPF in your program.
  786.  
  787. A mismatch between Oracle client and server 
  788. versions can cause BLOB and CLOB access 
  789. problems. SQL Links is not certified to 
  790. overcome this limitation. 
  791. Details: BLOB and CLOB access problems will 
  792. be encountered when an Oracle 8.1.5 client 
  793. communicates with an Oracle 8.0.4 server.
  794. (Delphi 5 is certified only with the Oracle 
  795. 8.1.5 client/Oracle 8.1.5 server configuration.)
  796.  
  797. Using Microsoft Access ODBC driver 
  798. version 4.00.3711.08 with Delphi 5 and BDE 
  799. causes text field lengths to be reported twice 
  800. as long as they actually are. Earlier versions 
  801. of the driver do not exhibit this behavior. 
  802. Nor does the problem occur when ADO is used.
  803.  
  804. TStoredProc components that attempt to get an
  805. spParamList value from an invalid stored
  806. procedure will cause an AV in ORACLIENT8.DLL.
  807. To avoid this problem, make sure the procedure
  808. is valid on the server.
  809.  
  810. Using TQuery with Oracle 8 BLOBs and CLOBs
  811. -----------------------------------------------
  812. Accessing BLOB/CLOB in ORACLE 8 requires a 
  813. LOB locator. The SQL statements for inserting 
  814. LOBS using TQuery is as follows:
  815.  
  816. INSERT INTO LOBTAB ( F_BLOB, F_CLOB) VALUES 
  817. ( EMPTY_BLOB( ), EMPTY_CLOB() ) RETURNING 
  818. F_BLOB, F_CLOB INTO :P1, :P2
  819.  
  820. Here, parameter P1, P2 should be bound as 
  821. OraBlob and OraClob, respectively, and the 
  822. BLOB values can be assigned to the parameters.
  823. SQL Links internally gets the locators from 
  824. the returning clause of the above query and 
  825. populates the LOB.
  826.  
  827. Similarly, an update SQL statement would read:
  828.  
  829. UPDATE LOBTAB SET F_CLOB = EMPTY_CLOB( ) 
  830. RETURNING F_CLOB INTO :P1
  831.  
  832. TQuery parameter binding --
  833. MIDAS and ORACLE 8 CLOB and BLOB fields
  834. -----------------------------------------------
  835.  
  836. Using Oracle 8.1.5 client/server:
  837. If you attempt to set a CLOB to an empty value,
  838. an AV may result when the CLOB is updated via
  839. a TQuery parameter binding or through MIDAS.
  840.  
  841. Using Oracle 8.0.4 client/server:
  842. An AV may result if you attempt to insert a new 
  843. Record with MIDAS and then call ApplyUpdates 
  844. without giving values to CLOB or BLOB fields.  
  845.  
  846. Workaround for both cases:
  847. Use events to guarantee that CLOB and BLOB
  848. fields have a non-null value.
  849.  
  850. Oracle 8, VARRAYs and ADTs
  851. -----------------------------------------------
  852. [Enterprise, Professional editions only]
  853. An application can crash when opening an 
  854. Oracle 8 table that contains a large VARRAY of 
  855. ADTs. Oracle recommends using nested tables
  856. instead of VARRAYs when such configurations are
  857. required.
  858.  
  859.  
  860. ADDITIONAL COMPATIBILITY NOTES
  861. ===============================================
  862.  
  863. The following items describe compatibility 
  864. issues between Delphi 5 and earlier versions of 
  865. Delphi, as well as between Delphi 5 and other 
  866. products.
  867.  
  868. NOTE: The information below was confirmed late
  869. in the development process and may not appear 
  870. in the online Help system. For a more detailed 
  871. discussion of this subject, see "Compatibility
  872. Issues" in the Help Index.
  873.  
  874. DSGNINTF and deployment
  875. -----------------------------------------------
  876.  
  877. DSGNINTF.DCU is no longer shipped with Delphi.
  878. Thus, component developers should consider 
  879. segregating design-time code into separate units 
  880. from runtime code. Runtime code should not refer 
  881. to those units.
  882.  
  883. If this approach is not feasible, you do have the
  884. option of compiling DSGNINTF.PAS (located in
  885. your \source\toolsapi\ directory). This should be
  886. considered a stopgap measure, however, and may
  887. not be available as an option in future releases.
  888.  
  889. You are also reminded that under the terms of
  890. your license agreement, you are not permitted to
  891. distribute DCUs based on source code owned by
  892. Inprise Corporation, no matter how that code 
  893. might be made available to you. For complete
  894. details on licensing restrictions, see the
  895. LICENSE.TXT and DEPLOY.TXT files that accompany
  896. this release.
  897.  
  898. MIDAS.DLL replaces DBCLIENT.DLL
  899. -----------------------------------------------
  900. When redistributing MIDAS clients, you must
  901. redistribute the new MIDAS.DLL with your
  902. applications. This file replaces DBCLIENT.DLL
  903. as the primary MIDAS support library.
  904. (DBCLIENT.DLL is also supplied to provide 
  905. support for earlier versions of MIDAS.)
  906.  
  907. Functions removed
  908. -----------------------------------------------
  909. The DBError and DBErrorFmt functions no longer
  910. appear in DB.PAS.
  911.  
  912. Delphi 3 projects need STDVCL32.DLL
  913. -----------------------------------------------
  914. Projects created in Delphi 3 and earlier 
  915. releases require the presence of STDVCL32.DLL
  916. to enable their loading into Delphi 5.0. When 
  917. the older project is saved in Delphi 5.0, it is
  918. upgraded to use the new STDVCL40.DLL, and the 
  919. older library is no longer required.
  920.  
  921. FIF libraries no longer available
  922. -----------------------------------------------
  923. The FIF libraries that were supplied in the 
  924. \INFO\EXTRAS folder on the CDs of previous 
  925. Delphi releases are no longer available due to
  926. discontinued development and support by the 
  927. vendor, Iterated Systems.
  928.  
  929. GraphicsServer component no longer included
  930. ----------------------------------------------
  931. The GraphicsServer component (GRAPH32.OCX)
  932. that shipped with earlier versions of Delphi 
  933. is no longer a part of the product. Information 
  934. about the GraphicsServer component is available 
  935. from the vendor at http://www.graphicsserver.com/
  936.  
  937.  
  938. ONLINE HELP OMISSIONS, 
  939. CORRECTIONS, AND CLARIFICATIONS
  940. ===============================================
  941.  
  942. The following items describe late-breaking
  943. features and elements that are either not 
  944. covered or require correction or clarification 
  945. in the online Help system that ships with 
  946. Delphi 5. Most items include a title and
  947. keyword that will help you locate the affected
  948. topics.
  949.  
  950. Using CORBA
  951. -----------------------------------------------
  952. CORBA applications require an active TCP/IP 
  953. stack to operate.
  954.  
  955. CORBA client and server applications that call 
  956. or implement interfaces declaring OleVariants 
  957. as method parameters are advised to add 
  958. ShareMem as the first unit in the application's 
  959. uses list. ShareMem is necessary to manage 
  960. memory allocated to hold Pascal long strings.  
  961.  
  962. TADOConnection
  963. -----------------------------------------------
  964. Topic title/keyword: TADOConnection
  965. New published property: KeepConnection
  966. Description: Specifies whether an application
  967. remains connected to a database even if no
  968. datasets are open. For details, see the
  969. similar property description at 
  970. TDatabase.KeepConnection
  971.  
  972. TComponent
  973. -----------------------------------------------
  974. Topic title/keyword: TComponent
  975. New public method: RemoveFreeNotification
  976. Description: Disables destruction notification
  977. after it has been enabled by FreeNotification.
  978.  
  979. TComponent.ComponentState
  980. -----------------------------------------------
  981. Topic title: TComponent.ComponentState
  982. Keyword: TComponentState type
  983. New value option: 
  984. csDesignInstance  This is set on TForm, TFrame,
  985.                   TDataModule, etc. at design 
  986.                   time. It is always set with
  987.                   csDesigning but, unlike 
  988.                   csDesigning, is not set on the
  989.                   sub-components. For frames, it is
  990.                   set on design time frames but not
  991.                   frames that are registered as
  992.                   components.
  993.  
  994. TComServer
  995. -----------------------------------------------
  996. Topic title/keyword: TComServer
  997. New public property: TComServer.UIInteractive
  998. Description: Controls whether the server 
  999. displays error messages to the user. Can be set
  1000. to False for COM servers running as a service.
  1001.  
  1002. TOwnerDrawState type
  1003. -----------------------------------------------
  1004. Topic title/keyword: TOwnerDrawState type
  1005. New optional values:
  1006. odHotLight     The item is highlighted when 
  1007.                under the cursor ("hot-tracked").
  1008.                Windows 98/2000.
  1009. odInactive     Both the item and the window 
  1010.                associated with the menu are 
  1011.                inactive. Windows 98/2000.
  1012. odNoAccel      Keyboard accelerator cues 
  1013.                (character underscoring) is not 
  1014.                applied when the control is drawn. 
  1015.                Windows 2000.
  1016. odNoFocusRect  Cues that normally indicate 
  1017.                focus are not applied when the 
  1018.                control is drawn. Windows 2000.
  1019. odReserved1    Not used.
  1020. odReserved2    Not used.
  1021.  
  1022. Updated declaration:
  1023. type TOwnerDrawState = set of (odSelected, 
  1024. odGrayed, odDisabled, odChecked,  odFocused, 
  1025. odDefault, odHotLight, odInactive, odNoAccel, 
  1026. odNoFocusRect, odReserved1, odReserved2, 
  1027. odComboBoxEdit);
  1028.  
  1029. Additional information:
  1030.  
  1031. If you have any code that type-casts the ItemState
  1032. field of a DrawItemStruct, you should change the
  1033. code accordingly.
  1034.  
  1035. Example:
  1036.  
  1037.   with Message.DrawItemStruct^ do
  1038.   begin
  1039.     State := TOwnerDrawState(WordRec(LongRec
  1040.              (itemState).Lo).Lo);
  1041.  
  1042. Should now be:
  1043.  
  1044.   with Message.DrawItemStruct^ do
  1045.   begin
  1046.     State := TOwnerDrawState(LongRec(itemState).Lo);
  1047.  
  1048.  
  1049. TQueryTableProducer
  1050. -----------------------------------------------
  1051. Topic title/keyword: TQueryTableProducer
  1052. Limitation note:
  1053. TQueryTableProducer works only with TQuery 
  1054. components. It does not work with TAdoQuery or 
  1055. TIBQuery.
  1056.  
  1057. TAppletModule
  1058. -----------------------------------------------
  1059. Topic title/keyword: TAppletModule
  1060. Events link is missing. To view Help for 
  1061. events, search "TAppletModule" in the Help 
  1062. Index. Events (OnActivate, OnInquire, 
  1063. OnNewInquire, OnStartWParms, OnStop) are listed
  1064. along with the object's properties and methods.
  1065.  
  1066. Omission: Component Writer's Guide
  1067. -----------------------------------------------
  1068. Topic title: How do you create components?
  1069. Keyword: Creating components
  1070. Problem: Missing table
  1071. Missing table data:
  1072.  
  1073. To: Modify an existing component
  1074. Start with this type: Any existing component,
  1075. such as TButton or TListBox, or an abstract 
  1076. component type, such as TCustomListBox
  1077.  
  1078. To: Create a windowed control
  1079. Start with this type: TWinControl
  1080.  
  1081. To: Create a graphic control
  1082. Start with this type: TGraphicControl
  1083.  
  1084. To: Subclass a Windows control
  1085. Start with this type: Any Windows control
  1086.  
  1087. To: Create a nonvisual component
  1088. Start with this type: TComponent
  1089.  
  1090. Clarification: Debugger services
  1091. -----------------------------------------------
  1092. Topic title: Debugger services
  1093. Keyword: service applications, debugging
  1094. Step 2 of this topic describes adding a 
  1095. registry subkey with the full path to the 
  1096. debugger as the string value, but does not 
  1097. actually specify the path. The value is:
  1098.  
  1099. C:\program files\borland\delphi5\bin\delphi32.exe
  1100.  
  1101. Note that "C:\program files\borland\delphi5" 
  1102. is the default installation folder; if you 
  1103. installed to a different location, modify the 
  1104. string as needed.
  1105.  
  1106. Error: Code snippet won't compile
  1107. -----------------------------------------------
  1108. Topic title: Reading and writing strings
  1109. Keyword: Strings
  1110. The code snippet:
  1111.  
  1112. var
  1113.   fs: TFileStream;
  1114.   s: string = 'Hello';
  1115.  
  1116. should be written as:
  1117.  
  1118. var
  1119.   fs: TFileStream;
  1120. const
  1121.   s: string = 'Hello';
  1122.   
  1123. Correction in example topic: ContentType, 
  1124. ContentStream, SendResponse example
  1125. -----------------------------------------------
  1126. Accessible from example links in VCL topics:
  1127. TISAPIResponse.ContentType,
  1128. TISAPIResponse.SendResponse,
  1129. TCGIResponse.ContentType,
  1130. TCGIResponse.SendResponse,
  1131. TWebResponse.ContentStream,
  1132. TWebResponse.ContentType,
  1133. TWebResponse.SendResponse
  1134.  
  1135. The example topic noted above is incorrect in the 
  1136. online Help file. The corrected code appears
  1137. below. 
  1138. Note: This code segment is part of the
  1139. IServer demo project you'll find at
  1140. /demos/webserv. The corrected code can be found
  1141. in the MAIN.PAS file in that directory. 
  1142.  
  1143. procedure 
  1144. TCustomerInfoModule.CustomerInfoModuleGetImageAction
  1145. (Sender: TObject; Request: TWebRequest; 
  1146. Response: TWebResponse; var Handled: Boolean);
  1147.  
  1148. var
  1149.   Jpg: TJpegImage;
  1150.   S: TMemoryStream;
  1151.   B: TBitmap;
  1152. begin
  1153.   Jpg := TJpegImage.Create;
  1154.   try
  1155.     B := TBitmap.Create;
  1156.     try
  1157.       B.Assign(BioLifeGraphic);
  1158.       Jpg.Assign(B);
  1159.     finally
  1160.       B.Free;
  1161.     end;
  1162.     S := TMemoryStream.Create;
  1163.     Jpg.SaveToStream(S);
  1164.     S.Position := 0;
  1165.     Response.ContentType := 'image/jpeg';
  1166.     Response.ContentStream := S; 
  1167.       // do not free the stream because the response
  1168.       // object will handle that task.
  1169.   finally
  1170.     Jpg.Free;
  1171.   end;
  1172. end;
  1173.  
  1174. Correction: AutoHotKeys property value
  1175. -----------------------------------------------
  1176. [WHATSNEW.HLP]
  1177. Topic title: Miscellaneous VCL Enhancements
  1178. Keyword: VCL,enhancements
  1179. Detail:
  1180. The topic section "New Help hint and menu features"
  1181. states, "Setting the AutoHotKeys property to True 
  1182. causes the menu to maintain hot keys...remove 
  1183. duplicate hot keys, and add unique hot keys...."
  1184. Correction:
  1185. The property value should be maAutomatic, NOT True.
  1186.  
  1187. Correction: ValidHotkeys variable 
  1188. should be ValidMenuHotkeys
  1189. -----------------------------------------------
  1190. Topic title/keyword: ValidHotkeys variable
  1191. Correction: The correct variable name is
  1192. ValidMenuHotkeys.
  1193.  
  1194. TRegistry.Access enhancement
  1195. not noted in "What's New"
  1196. -----------------------------------------------
  1197. Topic title: TRegistry.Access
  1198. Keyword: TRegistry,Access
  1199. Detail: TRegistry.Access is a new property that
  1200. specifies the level of access to use when
  1201. opening keys with TRegistry, TRegistryIniFile,
  1202. or TRegIniFile objects. Among the advantages 
  1203. to using the Access property with those objects
  1204. is the ability to read HKLM on Windows NT
  1205. machines without Administrator privileges.
  1206. See the TRegistry.Access topic for additional
  1207. information.
  1208.  
  1209. Undocumented: ESafeCall exception
  1210. -----------------------------------------------
  1211. ESafeCall is raised when a routine has the
  1212. safecall calling convention but the application
  1213. can't provide the necessary error-handling. For
  1214. example, ESafeCall is raised when safecall is
  1215. used on a method that is not part of a dual
  1216. interface.
  1217. If you see this exception, you should either
  1218. use the ComObj unit--which handles safecall
  1219. correctly--or simply consider not using safecall. 
  1220.  
  1221. Correction to example in topic:
  1222. Supporting state information in remote data modules
  1223. -----------------------------------------------
  1224. Topic keyword: 
  1225. incremental fetching, stateless data modules
  1226.  
  1227. Corrected code (with changes noted):
  1228.  
  1229. TDataModule1.ClientDataSet1BeforeGetRecords(
  1230. Sender: TObject; var OwnerData: OleVariant);
  1231.  
  1232. var
  1233.   CurRecord: TBookMark;
  1234. begin
  1235.   with Sender as TClientDataSet do
  1236.   begin
  1237.     if not Active then Exit; //added
  1238.     CurRecord := GetBookmark; 
  1239.       { save the current record }
  1240.     try
  1241.       Last; {locate the last record in the new packet }
  1242.       OwnerData := FieldValues['Key']; 
  1243.          { Send key value to the application server }
  1244.       GotoBookmark(CurRecord); 
  1245.          { return to current record }
  1246.     finally
  1247.       FreeBookmark(CurRecord);
  1248.     end;
  1249.   end;
  1250.  
  1251. end;
  1252.  
  1253. TRemoteDataModule1.Provider1BeforeGetRecords(
  1254. Sender: TObject; var OwnerData: OleVariant);
  1255.  
  1256. begin
  1257.   with Sender as TDataSetProvider do // was TProvider
  1258.       if not VarIsEmpty(OwnerData) then //added
  1259.         if DataSet.Locate('Key', OwnerData, []) then
  1260.         DataSet.Next; //added
  1261. end;
  1262.  
  1263. Comment:
  1264. The key elements that distinguish this code from
  1265. the example in the Help file are the Active check 
  1266. on the client, the unassigned variant check 
  1267. on the provider, and the call to move next past 
  1268. the located value (without which the last record 
  1269. of the previous fetch is fetched instead).
  1270.  
  1271.  
  1272. Clarification: Converting MIDAS applications
  1273. ------------------------------------------------
  1274. The following is provided to clarify and expand
  1275. upon the Help topic entitled "Converting MIDAS 
  1276. applications". The topic can be found in the
  1277. What's New section of the Help system (keyword
  1278. "MIDAS, upgrade issues"):
  1279.  
  1280. The architecture to support multi-tier database
  1281. (MIDAS) servers in stateless environments (such as
  1282. MTS) has changed in Delphi 5. This has advantages
  1283. over the previous architecture and offers a
  1284. significant increase in performance and
  1285. scalability by reducing message traffic. You will
  1286. need to update your MIDAS 1 and MIDAS 2
  1287. applications to work with MIDAS 3. 
  1288. Follow these steps to convert your MIDAS 1 or
  1289. MIDAS 2 applications to MIDAS 3:
  1290.  
  1291. 1.  Open your MIDAS server.
  1292. 2.  View the Type Library.
  1293. 3.  Add the Borland MIDAS type library to the 
  1294.     Uses page of the server library properties. 
  1295.     In the Type Library Editor, select the Uses page, 
  1296.     then right-click and select Show All Type 
  1297.     Libraries.
  1298. 4.  Remove the BdeProv unit from the uses clause
  1299.     of your remote data module.
  1300. 5.  In the Type Library Editor change the Parent
  1301.     Interface of your server's interface to IAppServer
  1302.     (formerly IDataBroker).
  1303. 6.  Write down the name of any property that
  1304.     returns an IProvider and note any other methods
  1305.     that use IProvider. IProvider is no longer
  1306.     supported, so delete all properties that return an
  1307.     IProvider.
  1308.  
  1309. Note: You need to rewrite methods that use
  1310. IProvider. These properties are added when you
  1311. export a provider and may include custom methods
  1312. that use IProvider as well.
  1313.  
  1314. 7.  Save the type library.
  1315. 8.  Open your RemoteDataModule.
  1316. 9.  From the list that you created of old
  1317.     IProvider properties, make sure you have a
  1318.     TDataSetProvider for each of those properties. If
  1319.     any are missing, drop a TDataSetProvider and set
  1320.     its Name property to the old property name and
  1321.     connect it to the appropriate dataset.  You may
  1322.     have to change the name of both the dataset and
  1323.     the TDataSetProvider, since the old name came from
  1324.     the dataset itself, but now it will come from the
  1325.     TDataSetProvider. 
  1326.  
  1327. Note: If porting a MIDAS 1 application, you may
  1328. want to take this opportunity to convert your
  1329. master detail relations into nested datasets.
  1330.  
  1331. 10. The provider's Reset method has disappeared.
  1332.     Any calls to Reset can be changed to 
  1333.     GetRecords(0,Recs, Ord(grReset)); 
  1334.     The provider's FetchData method has also gone 
  1335.     away. Replace calls to FetchData with 
  1336.     RowRequest(Packet, Ord(foRecord),EmptyParam);
  1337. 11. For any TDataSetProvider that you don't want
  1338.     visible from the client, set TDataSetProvider's
  1339.     Exported property to False.
  1340. 12. In the Code Editor delete the same IProvider
  1341.     properties from the data module that you deleted
  1342.     from the type library.
  1343. 13. If your data module is derived from
  1344.     TDataModule, change it to derive from
  1345.     TRemoteDataModule.
  1346. 14. Run the Socket Server and choose
  1347.     Connections|Registered Objects Only to disable
  1348.     added socket and web connection security. See
  1349.     Changes to MIDAS security for information on how
  1350.     to update your application to include this
  1351.     security.
  1352. 15. Recompile the server.
  1353. 16. Recompile the client.
  1354.  
  1355. Refer also to Changes to MIDAS support for
  1356. detailed information about the architectural
  1357. changes.
  1358.  
  1359. Note: Old get/set methods of type IProvider that
  1360. you replace with TDataSetProviders do not have to
  1361. be reimplemented. It's handled automatically as you 
  1362. add and implicitly export the TDataSetProviders.
  1363.  
  1364.  
  1365. DOCUMENTATION USAGE NOTES
  1366. ===============================================
  1367.  
  1368. Print documentation/PDFs
  1369. -----------------------------------------------
  1370. The Tutorial section of the Quick Start manual 
  1371. included in the printed and online 
  1372. documentation is designed for Delphi Enterprise
  1373. and Professional versions only. Other parts of
  1374. the QuickStart book are applicable to all
  1375. editions of the product.
  1376.  
  1377. The complete Quick Start, Developer's Guide, 
  1378. and Object Pascal Language Guide (OPLG) 
  1379. sections of your online Help system are also 
  1380. available in print and Portable Document Format
  1381. (PDF) editions. The Quick Start book
  1382. accompanies all editions of Delphi, and 
  1383. the print version of the Developer's Guide is 
  1384. provided with the Enterprise and Professional 
  1385. versions only. The Quick Start (QS.PDF) and 
  1386. Developer's Guide (DG.PDF) PDFs are provided on
  1387. your Delphi installation CD (in the folder 
  1388. /Documentation), and the OPLG PDF is available
  1389. for download from the Delphi Documentation Web 
  1390. site at http://www.borland.com/techpubs/delphi.
  1391.  
  1392. The site also provides links to the Borland 
  1393. E-Commerce area, where you may purchase 
  1394. additional copies of the Developer's Guide 
  1395. and the OPLG.
  1396.  
  1397. Notes:
  1398.  
  1399. -- To read PDFs, you must have the Adobe 
  1400.    Acrobat Reader installed. An installer is
  1401.    available on the Enterprise and Professional
  1402.    edition CDs at \IB5\ADOBE\SETUP.EXE).
  1403.    Standard edition users can obtain the 
  1404.    Reader installation at:
  1405. http://www.adobe.com/prodindex/acrobat/readstep.html
  1406.  
  1407. -- Since online Help is produced later in the
  1408.    development process than printed books and 
  1409.    PDFs, the Help system will, in many cases,
  1410.    offer more up-to-date and accurate information
  1411.    than that found in supplied printed materials.
  1412.  
  1413. Windows API index and topics
  1414. -----------------------------------------------
  1415. Due to limitations in the indexing capabilities
  1416. of the Windows Help engine on Windows 95 and 
  1417. 98 machines, Windows API Help topics do not 
  1418. appear in the Delphi Help index. However, these
  1419. topics are available from the Delphi IDE's 
  1420. context-sensitive Help system; if you select a 
  1421. Windows API function in the Code editor and 
  1422. press F1, the appropriate Windows Help topic 
  1423. will appear. To see an index of Windows API 
  1424. Help topics, access the Windows API Help 
  1425. directly from the Help menu.
  1426.  
  1427. BDE and other Delphi tools
  1428. -----------------------------------------------
  1429. To directly access Help for BDE topics 
  1430. (Enterprise and Professional editions only) and
  1431. other Delphi productivity tools, choose Delphi
  1432. Tools on your Help menu.
  1433.  
  1434. Note: Not all of the specified tools are 
  1435. included with all editions of Delphi. The main 
  1436. topic in the Delphi Tools Help file notes 
  1437. availability of each tool.
  1438.  
  1439. Openhelp usage notes
  1440. -----------------------------------------------
  1441. If you see a red "X" among the items in 
  1442. Openhelp's Contents, Links, or Index lists, it 
  1443. simply indicates that the Openhelp project is 
  1444. referencing files that either do not exist on 
  1445. your system, are not installed, or do not exist
  1446. in your edition of Delphi 5. To remove the item,
  1447. right-click on it and choose "Remove Item".
  1448.  
  1449. Downloading updated Help system components
  1450. -----------------------------------------------
  1451. The online Help files that accompany this 
  1452. release may be updated from time to time to 
  1453. provide corrections, clarification, additional 
  1454. examples and other new information. Updates 
  1455. will be available for download from the Delphi 
  1456. documentation Web site at
  1457. http://www.borland.com/techpubs/delphi
  1458.  
  1459.  
  1460. DELPHI ON THE WEB
  1461. ===============================================
  1462.  
  1463. In addition to numerous private sites that 
  1464. offer Delphi information, instruction, and 
  1465. samples, the following Delphi/Inprise 
  1466. Web-based resources provide a continuous stream
  1467. of news, product information, updates, code, 
  1468. and other materials. You can connect to many of
  1469. these resources directly from the Delphi Help 
  1470. menu.
  1471.  
  1472. Delphi Direct [Help|Delphi Direct]
  1473. -----------------------------------------------
  1474. This IDE add-in resource provides an 
  1475. automatically updated list of links to the 
  1476. latest news, downloads and other information 
  1477. about Delphi and Inprise.
  1478.  
  1479. Code Central
  1480. -----------------------------------------------
  1481. The CodeCentral Repository is a free, 
  1482. Delphi-powered, searchable database of code, 
  1483. tips, and other materials of interest to 
  1484. developers. For details and registration 
  1485. information, visit http://www.borland.com/codecentral
  1486.  
  1487. The Borland/Inprise Web site
  1488. -----------------------------------------------
  1489.  
  1490. Borland/Inprise home page:
  1491.   http://www.borland.com or 
  1492.   http://www.inprise.com
  1493.   [IDE: Help|Borland Home Page]
  1494.  
  1495. Delphi home page:     
  1496.   http://www.borland.com/delphi/
  1497.   [IDE: Help|Delphi Home Page]
  1498.  
  1499. Delphi developer support:
  1500.   http://www.borland.com/devsupport/delphi/
  1501.   [IDE: Help|Delphi Developer Support]
  1502.   
  1503. Delphi updates and other downloads:
  1504.   http://www.borland.com/devsupport/
  1505.        delphi/downloads/
  1506.   
  1507. Delphi documentation site:
  1508.   http://www.borland.com/techpubs/delphi
  1509.  
  1510. Information for C++ developers:
  1511.   http://www.borland.com/delphi/cpp/
  1512.  
  1513. Information for Visual Basic developers:
  1514.   http://www.borland.com/delphi/vb/
  1515.  
  1516. Newsgroups:
  1517.   http://www.borland.com/newsgroups/
  1518.  
  1519. Electronic newsletter subscriptions:
  1520.   http://www.inprise.com/feedback/listserv.html
  1521. International list server:
  1522.   http://www.inprise.com/feedback/intlist.html
  1523.  
  1524. Worldwide offices and distributors:
  1525.   http://www.borland.com/bww/
  1526.  
  1527. Inprise FTP site (anonymous access):
  1528.   ftp.borland.com
  1529.  
  1530. TechFax
  1531. -----------------------------------------------
  1532. Technical documents are available via fax at:
  1533.   1-800-822-4269 (North America)
  1534.  
  1535.  
  1536. ===============================================
  1537. Copyright (c) 1999 Inprise Corporation. 
  1538. All rights reserved.
  1539.  
  1540.