Readme
This is an extract of information provided by Microsoft to those that has already bought Visual Basic 4.0. It's kinda useless when you already have it, so read it before you buy it.
Author: MicrosoftWill the 16-bit and 32-bit versions of Visual Basic 4.0 run on Windows 95?The 16-bit version of Visual Basic for Windows version 4.0 will run on Windows, Windows for Workgroups, Windows NT, and Windows 95. Under Windows NT and Windows 95, it is handled as any other 16-bit application. The 32-bit version will run only on Windows 95 and Windows NT version 3.51 or greater. On Windows NT, your application will run in a 16-bit environment provided by the Windows On Windows (WOW) layer, which allows Windows NT to run 16-bit applications in a protected environment.
Can I load a VBX control in the 32-bit version of Visual Basic?VBX custom controls are limited to 16-bit and are fully supported only by Visual Basic 3.0 and the 16-bit version of Visual Basic 4.0. Visual Basic 4.0 uses the new OLE control model as its main control architecture. Visual Basic has moved to this new, open control model to support controls in both 16- and 32-bit environments. The OLE Control architecture merges all of the benefits of the VBX custom control with OLE. The new OLE Controls can be used in any OLE client application and are available on 16-bit as well as 32-bit platforms. Visual Basic 4.0 includes OLE controls (.OCX) that are upgrades to the VBX custom controls that shipped in previous versions. Automatic conversion is provided to replace the VBX references in projects with references to OLE controls. Visual Basic 4.0 will ship with OLE equivalents of all of the controls shipped in Visual Basic 3.0, in addition to several brand new OLE controls in both 16- and 32-bit versions. Visual Basic will continue to support VBXs in the 16-bit version only.How can I write an application for 16-bit and 32-bit systems at the same time?Microsoft has taken a number of steps to assure source code compatibility between 16-bit and 32-bit applications:
#If Win16 Then ' Use Win16 calls. Declare Function GetWindow Lib "User" (ByVal hWnd As _ Integer, ByVal wCmd As Integer) As Integer #Const ANSI=True #Else ' Use Win32 calls. Declare Function GetWindow Lib "User32" (ByVal hWnd As _ Long, ByVal wCmd As Integer) As Long #Const ANSI=False4 #End If
Can a Visual Basic 4.0 32-bit application run on Win32s?No. Win32s is a subsystem of DLLs which extends the Windows 3.1 16-bit operating system by translating 32-bit calls to the underlying 16-bit operating system. Programs written with the 32-bit version of Visual Basic running on Windows 3.1 with Win32s would generally run slower (due to the extra memory and overhead of the translation layer) than the same program created with the 16-bit version of Visual Basic. Instead of using the more limited Win32s features, Microsoft chose to have the 32-bit version exploit the more advanced 32-bit features available only on Windows 95 and Windows NT.
Can a developer create DLL files with Visual Basic 4.0?Visual Basic version 4.0 includes an option to make OLE DLL files. These files behave similarly to standard DLLs except that they use OLE as an interface to the objects described by the DLL. With Visual Basic 4.0, you can create reusable business objects that can be shared across applications. Rather than having to create DLLs using a C compiler or other language, you can now easily create reusable objects entirely from within Visual Basic. These OLE components accomplish the reusability of DLLs and are easier to reuse because they are essentially self-documenting. At design time you can browse the components with the Object Browser and examine what methods and properties the OLE objects expose. Similar to the way in which VBX vendors encapsulated their expertise into controls, Visual Basic programmers can now rapidly package their business rules, commonly used code libraries, as well as any legacy code into reusable, programmable objects. Once created, these libraries of reusable objects, complete with custom properties and methods, can be used by any application capable that supports OLE Automation. A few examples of applications that can reuse these objects are Visual Basic 4.0 (which can both use and create OLE objects), Microsoft Excel 5.0, Microsoft Access 2.0, and Microsoft Project. Future versions of Microsoft SQL Server, Microsoft FoxPro, Microsoft Word For Windows, and Windows will also take advantage of these objects.
Does this mean that I can use a Visual Basic created DLL from other languages?Yes, you can use the OLE DLLs from other languages (such as Microsoft Visual C++), but you do not declare the functions in the DLL like you would a Windows DLL function. Instead you access the functions via the OLE interface.
Will Visual Basic 4.0 exist for MS-DOS and Macintosh platforms?Visual Basic 4.0 incorporates the portable Visual Basic, Applications Edition language engine. Microsoft Excel 5.0 was recently released for the Macintosh and along with it the Visual Basic for applications component of Microsoft Excel, so the language engine is there. There are no commitments at this time for a version of Visual Basic for the Macintosh or for MS-DOS, but consideration is one based strictly on a good business case.
Does a specific version of 32-bit Visual Basic exist for Windows NT on MIPS, ALPHA, PPC, platforms?Preliminary discussions have occurred concerning all other major architectures that support Windows NT, and although no commitments have been made, this is certainly a possibility for the future. The 16-bit version of Visual Basic 4.0 will run on any machine which can run Windows NT. Windows NT includes a Windows On Windows (WOW) emulation layer which can run 16-bit applications.
Does the 32-bit version of Visual Basic provide statements and functions for multitasking?Currently Visual Basic 4.0 does not support threads on Windows NT 3.5 or Windows 95. Research indicates that the main reasons Visual Basic programmers would want to use threads in a Visual Basic application would be for asynchronous database queries, printing, or file I/O operations. Microsoft is expecting providers of data sourcing OLE controls to provide the former, and will consider the latter for future versions. Does Visual Basic 4.0 use the new controls of Windows 95? Visual Basic does use the new Windows 95 controls, but because these are 32-bit controls for a 32-bit operating system, they are only available in the 32-bit version of Visual Basic.
Do you know if the third party vendors will be selling OLE Controls soon?There a large number of control developers who are migrating existing VBX controls to the OLE control model as well as those who are writing new controls. There should be a large number of controls available immediately after Visual Basic releases.
Do I need to change my Visual Basic 3.0 applications to compile with the 32-bit version of Visual Basic 4.0?There are two significant changes that need to be addressed to re-compile a Visual Basic 3.0 application to Visual Basic 4.0 32-bit. First, if API calls are being used by the application, you must change your API calls to the appropriate target environment. Win16 and Win32 provide APIs with similar functions but different Declare statements (to take into account the size of the data types). Visual Basic 3.0 typically uses the 16-bit declarations. The 32-bit version of Visual Basic 4.0 must use the 32-bit API declarations. Rather than simply replacing the existing API calls, you can use Visual Basic 4.0's conditional compilation feature to target both 16- and 32-bit platforms from a single source code tree. Second, the 32-bit version of Visual Basic 4.0 makes use of the newer OLE Control architecture exclusively. VBXs are not supported for the 32-bit version. This is not a problem for VBX controls shipped with previous versions of Visual Basic. All of these controls have OLE Control counterparts (in Visual Basic 4.0, these files all end in .OCX). You will be prompted to upgrade these controls the first time you load your project into Visual Basic 4.0. However, you will need to acquire OLE Control upgrades to any third-party controls used in your applications. While Microsoft has made the technology available for control developers to easily port their existing VBX controls to the new OLE Control technology, there is no guarantee that all of the available VBX controls will be available as OLE Controls. Contact the control vendor for upgrade information. The 'Basic Language' code of both the 16-bit and 32-bit versions of Visual Basic are fully compatible. Creating a 32-bit application that runs on either Windows NT 3.5 or Windows 95 from a Visual Basic 3.0 (or 16-Bit Visual Basic 4.0) application is a simple matter of loading an existing 16-bit Visual Basic application into the 32-bit version of Visual Basic and choosing the Make EXE File command from the File menu.
Do I need to change my Visual Basic 3.0 application to compile with the 16-bit version of Visual Basic?No. To run a Visual Basic 3.0 application with the 16-bit version of Visual Basic, load the source code into the 16-bit version of Visual Basic 4.0 running under Microsoft Windows 3.x, Microsoft Windows 3.x, Windows NT 3.51, or Windows 95, and make an .EXE file.
Does Visual Basic 4.0 support DBCS?All versions of Visual Basic 4.0 are Double-Byte Character Set (DBCS) enabled, in that all dialogs accept DBCS characters, all edit controls can accept DBCS text, and strings specified in code can contain DBCS characters.
In what languages is Visual Basic 4.0 available?Visual Basic for Windows version 4.0 is slated for release in French, German, Italian, Spanish, Chinese, and Japanese.
What is the difference between Standard and Professional versions ?
What does the Enterprise Edition add to this?The Enterprise Edition contains all of the features listed above for the Professional Edition. In addition, the Enterprise Edition adds the following features. Remote Data Objects (RDO) and RemoteData control (RDC) Visual Basic 4.0, Enterprise Edition is bringing an entirely new paradigm to front-end developers. RDO has a set of data access objects not unlike Jet but tuned and optimized specifically for SQL Server. It will also run against Oracle. This means that it can gracefully and efficiently deal with server-side cursors, asynchronous queries, multiple result sets, input, output, and return value parameters from stored procedures and much, much more but using the same programming paradigm that Jet uses. RDO can create a "cursorless" result set and three other types of cursors (static, dynamic, and keyset). It promises to become the new standard for accessing SQL Server from Visual Basic. The RemoteData control is a replacement for the Jet Data control. It can connect bound controls to a selected ODBC data source. Neither the RemoteData control nor RDO require any vestige of Jet, which gives it a much smaller footprint (about 250K).Visual SourceSafeThe Enterprise Edition of Visual Basic includes Visual SourceSafe, a fully integrated source code control system. It is an easy-to-use tool for team software development. Visual SourceSafe tracks changes to files and stores the changes so that files, such as code modules, can be easily and economically reused.Remote AutomationOLE Automation servers are an ideal mechanism for providing business, data, and application services. Once a service has been implemented as an OLE server, it can be used as an application component by developers throughout the enterprise. Such services can be implemented very rapidly using Visual Basic. Remote Automation provides the infrastructure for easily extending the OLE client/server relationship across networks. It allows an application's OLE client components to access services provided by OLE servers anywhere on the network.
What is new in Visual Basic 4.0?Visual Basic, Applications EditionVisual Basic, Applications Edition, version 2.0 (VBA) is added as the language engine in Visual Basic. This version of VBA is fully backward-compatible with earlier versions of the stand-alone Visual Basic product, and with Visual Basic, Applications Edition, version 1.0, which is included in Microsoft Excel version 5.0 and Microsoft Project version 4.0. The insertion of VBA in Visual Basic 4.0 makes it easier to program OLE Automation objects, and means that Visual Basic code can be easily moved between modules in the applications that support OLE Automation.Creating Custom Objects and CollectionsYou can create custom objects, with their own properties and methods, and assemble them into an object model. The definitions of these objects are called classes, and are contained in Visual Basic's new class modules. Your object model can include custom collections, built using Visual Basic's new Collection object.OLE Automation ServersUsing OLE Automation in Visual Basic, you can borrow the functionality of other applications by controlling their objects from within your Visual Basic application. Visual Basic 4.0 also gives you the capability of creating your own OLE Automation servers. You can use Visual Basic 4.0, Professional Edition to create applications which expose objects with an interface of your own design, and are callable from applications supporting OLE Automation, including Visual Basic, Visual C++, Microsoft Project, Microsoft Access, and Microsoft Excel.Property ProceduresProperty procedures allow you to add custom properties to form modules, standard modules, and class modules, and to execute code when the property is set or retrieved. For example, you could add an Inverted property to a form. When Inverted is set to True, the code in the associated property procedure invokes an API to invert a bitmap on the form.32-Bit Support and Conditional CompilationThe 32-bit version of Visual Basic is designed to let you create versions of your programs to run on 32-bit systems, using the same source code as for 16-bit versions. The 32-bit version of Visual Basic supports long filenames in all project components and relaxation of most of the 64K capacity constraints for properties and the Visual Basic language. With conditional compilation, you can embed platform-specific code segments in #If...Then statements, and selectively build versions of your application for different platforms. Jet 3.0 Many additional features of the Jet 3.0 database engine are available in Visual Basic 4.0, Professional Edition, including the ability to create new databases, change database structure, and the ability to manipulate database security and referential integrity. In addition, Visual Basic 4.0 adds the following features:
How do I apply for a Microsoft Beta program?You can request to become a beta site by writing to: Microsoft CorporationAttn: XXXX Beta Test Administrator One Microsoft Way Redmond, WA 98052-6399 where XXXX is the product you want to apply for. Various products within Microsoft have varying capacity to respond to those who are not selected. Unfortunately, due to the volume of requests, the Visual Basic group is not able to inform those who were not selected for the beta. Where can I find out more about Visual Basic certification?For information regarding the Microsoft Certified Professional program, the developer certification, or the Visual Basic or Microsoft Access exams, please refer to the Microsoft Education & Certification Roadmap. This can be downloaded from CompuServe (GO MSEDCERT, Library #5, filename E&CMAP.ZIP) or can be ordered direct from Microsoft by calling 800-636-7544.
How do I send suggestions for product features/improvements to Microsoft?Contact the Microsoft Wish Line at (206) 936-WISH [936-9474]. If it takes more than two minutes to describe, you can do one of the following: Fax it to us at 206-936-7329 Write to us at: Attn: Microsoft WishOne Microsoft Way Redmond WA, 98052
How can I find out more about calling the Windows API?The Windows SDK Help file discusses Windows API general topics, functions, structures and messages. Its companion Help file, Windows 3.1 API Help, offers Help on the Visual Basic Declare Statements, Type Declarations and Global Constants used to access much of the Windows API. In addition, there are the following resources:
How do I create an OLE Control?Visual C++ 2.0 comes with the OLE Control Development Kit, which will enable you to create an OLE control. Article Q113895 (Intro to Microsoft OLE Custom Control Architecture & Tools) discusses OLE controls and their future within Visual Basic and Windows.
Where can I place an order or get upgrade and pricing information about Microsoft Visual Basic for Windows?For information regarding product updates, prices, and sales, please call the Microsoft Sales Information Center (MSIC) at the following number. Note that no technical support is provided on this line.
Where can I get the latest updates for Visual Basic files?You can identify available updates by searching for the pointer article in the Knowledge Base (described elsewhere in this document). Search on the keyword UPD or SOFTLIB. To get the latest release of Visual Basic updated files, download the appropriate file (the updates are all stored as self-extracting files *.EXE) from the Microsoft Software Library (MSL) on the following services:CompuServeGO MSLSearch for Display results and download Microsoft Download Service (MSDL)Dial (206) 936-6735 to connect to MSDLDownload Internet (anonymous FTP)ftp ftp.microsoft.comChange to the \softlib\mslfiles directory Get
What can you tell me about the next version of ...Stop! The answer is, Microsoft can tell you nothing. It is standard Microsoft policy to not discuss unannounced products. Individuals involved in Beta testing Microsoft products are bound by a similar non-disclosure agreement which requires that they not discuss the product.
What do I do if I have a problem with Visual Basic?You have a number of options for assistance from Microsoft as well as other developers. They include: Telephone support, CompuServe, Internet, and Microsoft Solutions Providers. For details, you can look in Visual Basic 4.0 online Help. Choose Obtaining Technical Support from the Visual Basic Help menu for more information. You can also download Knowledge Base article Q108102 which details the same support options and article Q80850 for support phone numbers.
What should I do before I ask for help?Read the manuals. The Visual Basic manuals cover every keyword and most common programming situations. This information is also available in the online Help files. Look in the Knowledge Base. The Microsoft Developer Knowledge Base (GO MDKB) is a tremendous resource for dealing with Microsoft products. Developer Support Engineers at Microsoft create solutions and explain problems or techniques that come up in the course of using Microsoft products. These discussions are written up into articles and placed into the Knowledge Base (KB) which is periodically updated on CompuServe. The Visual Basic Knowledge Base (VBKB_FT.EXE) is a downloadable subset of the Knowledge Base which contains articles relevant to Visual Basic. It contains a full text search engine to help you locate the information you want. This file is available in the Microsoft Software Library (GO MSL). CAUTION: This file is over four megabytes in compressed form; it will take a while to download. Look at the FAQ list. FAQ: A Frequently Asked Questions list is currently available on the Internet (not an MS document) and Microsoft will have a FAQ on CompuServe in the near future. Isolate the problem. Isolating the problem often leads to the solution. Also, if you can't accurately describe how and when the problem occurs, then any support engineer would have to take you back through your code to attempt to isolate the problem.
What are some things I can do to isolate the problem?First and foremost, make a backup. This is the point at which even experienced programmers frequently lose many hours of work. When you experiment, it is far too easy to accidentally overwrite or delete necessary sections of code. Use the debugging facilities built in to Visual Basic 4.0. See Chapter 20, "Debugging," in the Programmer's Guide. Attempt to identify the line or lines of code generating the error. Isolate the code. If you can isolate the problem to one block of code, try to reproduce the same problem with this block of code separated from the rest of your program. Select the code, copy it, start a new project, paste the code into the new project, run the new project, and see if the error still occurs. Create a log file. If you cannot isolate the code or if the problem is erratic or if the problem only happens when compiled, then the debugging facility of Visual Basic will be less effective. In these situations you can create a log file which records the activity of your program. This will allow you to progressively isolate the location of the suspect code. Call the following procedure from various points in your program. You should pass in a string of text which indicates the current location of the code executing in your program.Sub LogFile (Message As String) Dim LogFile As Integer LogFile = FreeFile Open "C:\VB\LogFile.Log" For Append As #LogFile Print #LogFile, Message Close #LogFile End Sub Sub Sub1 () '... Call LogFile("Here I am in Sub1") '... End SubSimplify the problem. If possible, remove any third party controls and custom controls from your project. Replace them with Visual Basic standard controls. Eliminate any code that does not seem to relate to the problem. Reduce the search space. If you cannot resolve the problem with any of the above methods, then it is time to eliminate all other non-Visual Basic causes from the problem search space. Copy your AUTOEXEC.BAT and CONFIG.SYS files to backup files. Comment out any and all drivers and programs from these two files that are not absolutely essential to running your program under Windows. Change your Windows video driver to the standard Windows VGA driver. Shut down Windows and reboot your machine. This will eliminate the possibility that there is some other program or driver which is interfering with your program. If you cannot locate a solution and are unable to isolate or resolve the problem with any of these methods, it's time to look for help. See the online Help under "Technical Support" or check into the other resources mentioned in this file.
How can I get Knowledge Base articles?You can request individual articles to be faxed to you via the FastTips service. Microsoft FastTips is an automated fax and voice service that provides technical product support information at no charge through 800 numbers available 24 hours a day, 7 days a week (including holidays). You can use FastTips services with your touch-tone phone. Each of the specific FastTips services listed at the end of this article includes the following:
Can I get a copy of the entire Knowledge Base?Due to its size, the Microsoft Knowledge Base is made available to the public by the individual product groups in separate pieces. The Visual Basic Knowledge Base (VBKB_FT.EXE) is a downloadable subset of the Knowledge Base which contains articles relevant to Visual Basic. It contains a full text search engine to help you locate the information you want. There are over 600 categorized articles in the Visual Basic for Windows collection. The two Help files that hold these articles have been placed in a self-extracting file that you can download from several different places (listed later in this section). Choose to download either VBKB_FT.EXE (the full-text search version) or VBKB.EXE (the version without full-text search). The Help files in VBKB_FT.EXE have an additional Find button that allows full-text search. The Help files in VBKB.EXE do not have the Find button and do not allow full-text search. The technical content in VBKB.EXE is identical to that in VBKB_FT.EXE. VBKB.EXE is 1.5 megabytes in size while VBKB_FT.EXE is approximately 4 megabytes. VBKB_FT.EXE is larger because it includes index and .DLL files needed for full-text search. To obtain the Help files, download VBKB.EXE or VBKB_FT.EXE. Then run it in an empty directory to extract the files.
Where to Find VBKB.EXE and VBKB_FT.EXEDownload either VBKB.EXE or VBKB_FT.EXE (both are self-extracting files) from the Microsoft Software Library (MSL) on the following services:CompuServeGO MSLSearch for and download VBKB.EXE -or- Search for and download VBKB_FT.EXE Microsoft Download Service (MSDL)Dial (206) 936-6735 to connect to MSDLDownload VBKB.EXE or VBKB_FT.EXE Internet (anonymous FTP)ftp ftp.microsoft.comChange to the \softlib\mslfiles directory Get VBKB.EXE -or- Get VBKB_FT.EXE After downloading either VBKB.EXE or VBKB_FT.EXE, run it to extract the files it contains.
What are some books that might be of use to a Visual Basic developer?
In addition, there is a reading list of books, periodicals, and other information in the Knowledge Base in article number Q118782.
When I load an existing application into Visual Basic 4.0, it says it's going to 'upgrade' my controls. Is it actually changing my controls and should I back them up?No. Your controls are fine. Visual Basic 4.0 contains newer, backward-compatible controls that replace controls shipped with previous versions of Visual Basic. Your project's .VBP file will be updated to use these newer controls if you click Yes. It is recommended that you use the latest controls so that you can take advantage of any new features that have been implemented.
Why are the distributables so large?Visual Basic 4.0 uses the OLE Control architecture on a scale unmatched by any other in the industry. This means that until the OLE Control architecture becomes the industry standard and part of the Windows operating system, Visual Basic programs have to include the support files which enable this powerful new technology. It is expected that as the OLE model becomes integrated at the operating system level, this requirement will fall away and the size of the distributable will drop dramatically. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Editor: Microsoft Last update: 2024-12-29 Copyright 1995-2024 VBI |