oleGridSort - The OLE Automation server for sorting data in the MS Grid. Copyright (C) Timeamber Limited 1996 ============================================================================ Introduction ------------ The oleGridSort server effectively sub-classes the Microsoftİ Visual Basicİ 4.0 MS Grid control and adds new properties and methods as well as modifying some existing ones to give it full sorting by column capability. Once sub-classed (see the NewGrid property topic in the Help file), all properties and methods of the Grid should be accessed using the similar properties and methods of the OLE server. Event procedures for the Grid, however, will need to be accessed normally as VB 4.0 does not allow the creation of custom events. The supplied help file, SG.HLP, contains help for the properties and methods that are new, or have been modified by this class. Refer to the Help for the MS Grid control for standard properties and methods. SG.HLP can be run standalone, or from the contex help button on the Object Browser in VB 4.0's design environment. Contents -------- This OLE Automation server is supplied in three different forms:- 1. SG32.EXE An Out-Of-Process server for 32-bit applications. 2. SG32.DLL An In-Process server for 32-bit applications. 3. SG16.EXE An Out-Of-Process server for 16-bit applications. Both 32-bit and 16-bit servers require two supplied support files:- SGSE32.DLL and LFUTIL32.DLL for the 32-bit servers. SGSE16.DLL and LFUTIL16.DLL for the 16-bit server. The supplied help file, SG.HLP is designed to be used in conjunction with the Object Browser available in the VB 4.0 design environment, or as a standalone means of reference. It should, therefore, be placed in a directory in the defined PATH, typically in the Windows directory. Also supplied, but you should in fact have the file in your CD-ROM TOOLS/PSS directory, is REGSVR32.EXE which you will need to register SG32.DLL if running Windows 95/NT. The Packing List ---------------- SGOLE.ZIP contains the following files:- SG32.ZIP - which contains:- SG32.EXE } SG32.DLL } 32-bit stuff SGSE32.DLL } LFUTIL32.DLL } SGDEMO32.EXE - small demo program. REGSRV32.EXE - utility to register SG32.DLL. SG16.ZIP - which contains:- SG16.EXE } SGSE16.DLL } 16-bit stuff LFUTIL16.DLL } SGDEMO16.EXE - small demo program. SG.HLP - preferred help file, if it works in your version of Windows. SGWIN3.HLP - alternate Windows 3.xx version help file. (Must be renamed to SG.HLP if used) PUBS.DAT - data file for demo programs. WHATSNEW.TXT - file depicting what's new in this version. LICENCE.TXT - Development Licence Purchase form. README.TXT - this file. Installation ------------ You must have Visual Basic 4.0 installed to use this product. 1. Create a temporary directory on your PC. 2. Unzip SGOLE.ZIP into it. 3. Unzip SG32.ZIP and/or SG16.ZIP depending on your requirements. 4. Move the SG??.EXE file(s) and/or SG32.DLL into a suitable directory (the VB 4.0 directory for example). 5. Move SGSE??.DLL and LFUTIL??.DLL into the windows\system directory. 6. Try running SG.HLP. If your version of Windows doesn't like it, rename it, and rename SGWIN3.HLP to SG.HLP. 7. Move SG.HLP to your windows directory. 8. Copy SGDEMO??.EXE and PUBS.DAT into a directory 9. From File Manager/Explorer, run SG??.EXE to auto register it/them. If you are going to use SG32.DLL, run REGSVR32.EXE thus:- e.g. REGSVR32 C:\VB4\SG32.DLL You should now be ready to use oleGridSort. To test if all is OK, run VB 4.0. Select the REFERENCES... option under the TOOLS menu. You should see one or more GridSort OLE Server entries. You can now try out the demo program to see oleGridSort in action. Implementation -------------- Once registered, the servers will be available for all your VB 4.0 projects. To include one of the servers, in the VB 4.0 development environment, click on the Tools|References menu option, scroll down the list and you will see:- GridSort OLE Server (32-bit) - for both SG32.EXE and SG32.DLL and/or GridSort OLE Server (16-bit) - for SG16.EXE Click on the checkbox of the one required, and it will now be accessible to your project. Refer to SG.HLP for detailed information on using oleGridSort. Licencing oleGridSort ------------------------ You may use this product, for up to 30 days without licencing it, after which, you must purchase a Development Licence or remove the files from your PC and/or network. The cost of a single Development Licence is £19.95 (UK pounds). A single Development Licence means that only one developer may use oleGridSort at any time. Please fill in the accompanying LICENCE.TXT file and send with your remittance to Timeamber Limited. If you have a Compuserve ID, you can receive the licenced version via Compuserve Mail. If you don't have a Compuserve ID, but want the licenced version sent to your email address, it will need to be sent uuencoded. This means that you will need to have some software that can uudecode the text. Timeamber Limited does not yet accept credit cards. Cheques/money orders must be in UK pounds, and must be drawn on a UK bank. Licencing will ensure you receive free updates, and timely support. Unlicenced versions will display a nag screen every time an instance of the OLE server is invoked, when used in the VB 4.0 development environment. Distribution ------------ IF oleGridSort IS UNLICENCED, NONE OF THE FILES MAY BE DISTRIBUTED AS PART OF AN END USER APPLICATION! They may only be used to evaluate the product. If the end user application is to run only under Windows 3.xx, the following files should be included in the distribution set:- SG16.EXE SGSE16.DLL LFUTIL16.DLL SGWIN3.HLP (for Windows 3.xx environment) - renamed to SG.HLP ----------------- If the end user application is to run only with 16-bit applications in 32-bit environments, the following files should be included in the distribution set:- SG32.EXE (out-of-proc server) SGSE32.DLL LFUTIL32.DLL. SG.HLP (the original) If the end user application is 32-bit under Windows 95/NT, the following files should be included in the distribution set:- SG32.EXE (out-of-proc server) and/or SG32.DLL (in-proc server) SGSE32.DLL LFUTIL32.DLL. SG.HLP (the original) If the run-time environment may be either or both, include all the above files. However, you will have to make some determination about which version of the help file to distribute. You may not distribute any of the supplied files, other than passing on SGOLE.ZIP, unmodified, to other developers, if you have not licenced the product. Language Support ---------------- oleGridSort holds its error message texts as resources. Use a suitable resource editing utility to change the error message stringtable to suit language requirements. Limitations of oleGridSort -------------------------- For reasons of performance, in relation to memory marshalling that OLE automation is subject to, the Grid data is passed to the sort engine in one pass in a single text string. This imposes possibly severe limitations within the 16-bit version of VB 4.0 to 64Kb, as that is the maximum string length. This will restrict the maximum dimensions of the Grid to approximately 1024 rows x 8 columns x 8 characters per column, or appropriate variations thereof. In the 32-bit version of VB 4.0, the maximum size of a string can be approximately 2Gb, and so no such practical limitation exists. Known problems -------------- In the 16-bit version of oleGridSort, referring to any of an instance's properties/methods in the sub-classed Grid's SelChange event will cause a GPF (in module OLE2DISP.DLL) if setting any of the instance's properties elsewhere cause that event to fire. If you need to use this event procedure to access Grid properties, use the Grid name rather than the oleGridSort instance name. Microsoft Technical Support are investigating this problem. History ------- 1.0 First release. If you experience any problems with this product, or have any questions about it, I'm contactable by one of the means below. Ian Carter Timeamber Limited 34 Park View Kiveton Park Sheffield S31 8SE England Tel/Fax (auto): (+44)(0)1909-773689 Mobile: 0468-520441 CIS: 100435,3040 Email: 100435.3040@compuserve.com