--------- IMPORTANT --------- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Dimeric Software Product Information Rinse FULL Version * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Thank you for purchasing Rinse -- we hope you will find it as useful and reliable as we do. If you have any questions or comments, please vist our website... http://www.Dimeric.com/ or send us an email... Support@Dimeric.net Release Notes ------------- 2.1.8 - April 29, 2003 * General Enhancement - Exceptions are now raised by the proxy, giving the entire protocol chain a chance to examine the response. * RinseClients - New method: Ping. * RinseHTTPServer - Send a unique ProcessID with every request/response, so that the client may detect a new server process, even if the client skips a ping. * RinseVDBDataModule - TRinseVDBDataMod now exports provider components to the owning data module. * RinseAESClient / RinseAESServer - These units implement AES encryption as a Rinse layer. * RinseStatefulClient - Rewrite stateful layer. Client now obtains cookie in a separate request. - Don't rewind response. - Retry method call if a new cookie was recieved. * RinseStatefulServer - Rewrite stateful layer. Client now obtains cookie in a separate request. - Do not call skeleton when obtaining a new cookie. * RinseThreadedClient - Don't process messages for the main form if it doesn't exist. - Use TSyncThread for the background thread. - When WM_QUIT is encountered, call PostQuitMessage. Also, change the timeout when waiting for the event that signals completion of the remote method, from 1.0 seconds to 0.1 seconds. - ProcessLimitedMessages now includes a loop to process all messages until none remain. * RinseHTTPClient - Add an error callback event. - In Ping, hide exceptions from the IDE if there is an HTTP error handler. - Use EDSSilentException. - Adaptive ping. - Send a unique ProcessID with every request/response, so that the client may detect a new server process, even if the client skips a ping. - Use the BreakOnException property of the chunked input stream to avoid breaking in the debugger on an exception. - Clear FProcessID when error call-back fails. * RinseTransport - Local protocol now streams exceptions using DSChunkedStreams. Getting Started --------------- After you install Rinse, you can use the New Rinse Unit Wizard, File | New | Other | Rinse Unit, to create a new Rinse unit and add it to your project. Also, the Tools | Rinse Explorer command allows you to configure the Rinse Translator (this command can be found on the Help menu in Delphi 5). Documentation ------------- Rinse comes with extensive documentation, as well as an in-depth tutorial (which is the best place to begin). The tutorial can be found in Dimeric\RinseTutorial\Tutorial.rtf. The source code for each step of the tutorial can be found in the folder Dimeric\RineTutorial\Step N, where N is the step number. These projects represent the completed tutorial step, and are ready to compile and run. The Rinse documentation is Dimeric\Doc\Rinse Intro.rtf, and is partly a reference -- the tutorial is a better place to begin. Documentation on the units in RinseLib is located in the Dimeric\Help folder. The install program automatically integrates this help file into Delphi's IDE help system. Deploying Applications Built With Rinse --------------------------------------- Rinse features royalty-free application deployment. You may distribute free of charge applications (EXE files) and libraries (DLL and BPL files) built with Rinse and/or DSUtil. You may not distribute Rinse or DSUtil source code (PAS, INT, DCU and DCP files). See the software license (License.txt) for more information.