Visual Basic Q&A

As a software engineer, I focus on .NET, especially asp.net, C#, WCF and so on, and I am also very interested in Search Engine Optimization.

Entries Tagged ‘microsoft knowledgebase’

INFO: VB6 Readme: Part 6 Wizard Issues

Symptoms
The information below includes the documentation and workarounds for VisualBasic 6.0. This information can also be found in the README.htm file thatships with Visual Basic 6.0 on the Visual Basic 6.0 CD-ROM. Please see theREFERENCES section of this article for a list of the Microsoft KnowledgeBase articles relating to the Visual Basic 6.0 readme.
Following is a list of all parts of the readme file:
Part 1.Important Issues Please Read First!
Part 2.Data Access Issues and DataBinding Tips.
Part 3.Control Issues.
Part 4.Language Issues.
Part 5.Samples Issues.
Part 6.Wizard Issues.
Part 7.Error Message Issues.
Part 8.WebClass Designer Issues.
Part 9.DHTML Page Designer Issues.
Part 10. Extensibility Issues.
Part 11. Miscellaneous Issues.
Part 12. Microsoft Transaction Server (MTS) Issues.
Part 13. Dictionary Object.
Part 14. Visual Component Manager.
Part 15. Application Performance Manager.
Resolution
Package and Deployment Wizard (PDW):Automatically Picks Up Files From Redist DirectoryA new feature of the Package and Deployment Wizard is its ability pick upfiles from the Redist folder. An example of how the feature is used wouldfollow the steps below:You have created an application that is ready for packaging.The application depends on a certain system file “MySysFile.dll” which,until recently, has been a stand-alone file. But now a recent systemupdate has made that file dependent on other files to function properly.However, a stand-alone version of the system file is also supplied.To simplify setups, you place that stand-alone version into the Redistfolder.When creating your deployment package, you navigate to the system fileto instruct the wizard that the system file should be included.Instead of picking up the system file (which is dependent on otherfiles), the Package and Deployment Wizard will pick up the stand-aloneversion that is in the Redist directory.
By default, no files are placed in the redist folder.
Package and Deployment Wizard Has [Do Not Redist] SectionA new section has been added to the Package and Deployment VB6Dep.ini file:[Do Not Redist]
Two kinds of files are listed under the new section:Files that are not needed at run-time. For example, ActiveX designersoften require two file references, one for design-time, and one for run-time. Since the design-time reference is not needed, it is listed in thesection and is not included in the package.Files that cannot be redistributed by the Package and Deployment Wizard.Some dependent files are not installed by Visual Basic, but must beinstalled by another component. For example, the following files areinstalled by Internet Explorer 4.x: Shdocvw.dll and Mshtml.dll.
Package and Deployment Wizard: In Silent Mode the NotificationWindow May Not Be First in the Window Z-orderWith Visual Basic, it is possible to run the Package and Deployment Wizardin silent mode from a command prompt. When doing so, you can also set apath for logging the wizard’s output (/l ). With the path set, the wizardwill create a log of events. If you do not use the argument, the wizardwill instead display a dialog box to notify you of the wizard’s completion.However, the window is not always obvious because it may be underneathother windows. In order to see it, you may need to close or minimize allother windows.
For more information, search online for “running as a stand-alone” inVisual Basic Concepts in the MSDN Library Visual Studio 6.0 documentation.
Package and Deployment Wizard: Command Line Mode Argument Added forSpecifying Executable PathAn argument has been added to the command line mode of the Package andDeployment Wizard. The argument is shown in the table below:

ArgumentDescription/e pathUse the argument to set the path for the project’sexecutable file if it is different from the project’spath. The argument allows the command line mode to be used in a multi-developerenvironment where a computer is dedicated to compiling the project andcreating the package.
For more information, search online with Package and Deployment Wizardselected, for running as a stand-alone in the MSDN Library Visual Studio6.0 documentation.
Package and Deployment Wizard: Manually Add User Control License FilesWhen creating a package for a user control that requires a license key, thelicense file (.vbl) is not automatically included. Instead, you must addthe file manually.
When you are at the dialog titled “Package and Deployment Wizard IncludedFiles,” click the Add button and search for the appropriate .vbl file.
Package and Deployment Wizard: Steps in the Web Deployment ProcessWhen you post an Internet package to a Web server using the Package andDeployment Wizard, the wizard uses a technology known as WebPost to copyyour package to the server and process it appropriately. These are thesteps that the WebPost process goes through when processing your .cab:It extracts the .cab file into a temporary directory.It locates the .inf file for the .cab file.Based on the contents of the .inf file, the WebPost process installsapplication files (based on the RInstallApplicationFiles section of the.inf file), installs system files (based on the RiinstallSystemFilessection), and installs shared files (based on the RInstallSharedFilessection). In the process, it registers any necessary files.NOTE: The DefaultInstall section of the .inf file is not run, because theinstructions it contains often require user input. The WebPost process alsodoes not create a virtual directory for your application, if one isrequired; directories must be set up in advance.
Package and Deployment Wizard: Web Deployment Tips for HTTP or FTP ProtocolIf the .cab file you are attempting to deploy to a Web server is copiedto the server but is not unpacked, make sure you included the .cab fileon the Items to Deploy screen, and that you used HTTP Post as theprotocol on the Web Publishing Site screen. In addition, you must havechecked the Unpack and Install Server-Side Cab check box on the WebPublishing Site screen. If you did not, try re-deploying your packageagain with this option selected.
NOTE: Cab unpacking is supported by Posting Acceptor 2.0 running on IIS4.0. If you receive an error saying that the Web server you selecteddoes not support the service provider you selected, there are severalthings you can do to try to fix this problem:If you are using the HTTP Post protocol, make sure that PostingAcceptor is installed on your Web server. If you are running IIS4.0, install Posting Acceptor 2.0. If you are running IIS 3.0,install Posting Acceptor 1.0. Cab unpacking is not supported byPosting Acceptor 1.0.Ensure that your URL is correct. If you are using HTTP Post,ensure that your URL begins with “http://”. If you are using FTP,ensure that your URL begins with “ftp://”.If you are uploading to a server location that has PostingAcceptor 1.0 installed, you cannot select the option to unpack andinstall your cabinet files when you deploy your package using thewizard. If you receive an error C0042115 that the query stringINSTALL is invalid, check your server configuration to determinewhat version of posting acceptor is installed. If it is version1.x, deploy your cab again, making sure to deselect the Unpack andInstall Server-Side Cab option.If you need to use the FTP protocol to post to a URL beginningwith “http://”, you may be able to resolve this error by adding thefollowing entry to the end of your Web server’s postinfo.asp file,usually located in the scripts directory on the Web server:[{02B5E1D1-8B7C-11D0-AD45-00AA00A219AA}]ServerName=” <%= Request.ServerVariables(“SERVER_NAME”) %>”MDAC installation requires DCOM95 to be installed. Setup programscreated with the Package and Deployment Wizard install the MicrosoftData Access Components (MDAC), which includes OLE DB, ADO and Jet,via the MDAC installer program: Mdac_typ.exe. This EXE requires thatthe machine being installed to have DCOM95 (or the newer DCOM98)installed on it.
If the MDAC intaller fails with a “DLL registration failed” message,this is because DCOM was not found on the machine. To restorefunctionality of existing data components, install DCOM95 and run theinstaller again.If you use the HTTP Post protocol and receive an error that you do nothave write access for the Web server, open the Internet Service Manageron the server computer, access the node for your Default Web Site(Console Root \ Internet Information Server \ machinename \ Default WebSite), choose Properties, select the Home Directory tab, and check theWrite check box.If your files are read-only when you try to post, you will receive anerror C0042116 announcing that processing has stopped. Change your fileattributes to proceed.Be aware that if you post a file to a directory where the same filealready exists, the file on the server will be overwritten and nowarning message will be displayed.If you use the FTP protocol and receive an error that access is denied,open the Internet Service Manager on the server computer, access thenode for your Default FTP Site (Console Root \ Internet InformationServer \ machinename \ Default FTP Site), choose Properties, select theHome Directory tab, and check the Write check box.If you use the FTP protocol and receive additional errors besides theone described in the previous bullet, make sure that you have properlyconfigured your FTP service on the Web server. To do so, start theMicrosoft Management Console (MMC), then follow these steps:Right-click on Default FTP Site and choose New Virtual Directory.Enter an alias to be used to access the virtual directory, thenclick Next.Enter the physical path of the directory to which to map thevirtual directory (for example, c:\inetpub\ftproot) then clickNext.Select the appropriate access permissions, making sure to allow writeaccess so that your deployments can proceed without errors, thenclick Finish.Right-click on Default FTP Site and choose Stop.Right-click on Default FTP Site and choose Start.
When you deploy to the FTP server using the Package and DeploymentWizard, use the site FTP://servername/alias where alias is the aliasyou assigned in step 2. Use the username “anonymous” and the password”me@somewhere” for anonymous login.
Package and Deployment Wizard: Start Menu Items: Run Option Not SupportedWhen creating a package for deployment, you can also create a Start menuitem. Although it is mentioned in the Help topic for the dialog box, theRun option is not supported.
System Configurations for WebPost’s Posting AcceptorWhen you deploy your packages to a Web server, the Package and DeploymentWizard uses a technology known as WebPost to move your files to the desiredlocation. WebPost consists of two main components:The Package and Deployment Wizard, which sends your content to aqualified site.A Posting Acceptor, located on the Web server, that enables the postingof content to an IIS server.There are multiple versions of Posting Acceptor available. You must makesure you install the correct version on your Web server based on yourmachine configuration. The following table lists the appropriateconfigurations:

Use thisif you are runningComments————————————————————————–Posting Acceptor 2.0Windows NT 4.0 with SP3Posting Acceptor 2.0IIS 4.0supports both contentposting and theunpacking of cabinet(.cab) files on theserver.Posting Acceptor1.0 Windows NT 4.0You cannot unpack .cabwith SP3with this versionIIS 3.0files of postingacceptor. Use this forcontent posting only.You can move yourfiles to the serverand then manuallyregister any necessaryfiles that would havebeen registered by the.cab process. NOTE: Posting Acceptor does not work on any platforms that are usingPersonal Web Server or Peer Web Server. You must use IIS. Steps forinstalling Microsoft Posting Acceptor 2.0 if you have Visual Studio orVisual Basic Enterprise Editions.Launch Visual Studio or Visual Basic setup from your installation CDs.When prompted to choose options to install, click Install ServerApplications and Tools, then click Next.Click Launch the BackOffice Installation Wizard, then click Install.Now select the radio button for Custom, then click Next. You will see the options to install and their sizes. Click Next.Select Microsoft Posting Acceptor 2.0.You can install Posting Acceptor 2.0 from the Deploy folder of VisualStudio installation CD number 2. Posting Acceptor 1.0 can be installed fromthe Microsoft Posting Acceptor Information Website. If you want to installPosting Acceptor 2.0 on a computer that already has the Windows NT OptionPack, you should first check to see if version 1.0 of the Posting Acceptoris already installed. If so, remove it before installing version 2.0. Todetermine if 1.0 is installed, select the NT Option Pack on the Add/RemovePrograms mechanism of the Control Panel. Click Add/Remove, then look forPosting Acceptor 1.0 among the components listed. You may find it underMicrosoft Site Server. If it is installed, remove it. You can then installversion 2.0 by running PASetup.exe.
Package and Deployment Wizard: Edit Setup.lst File If YouRebuild Cabs From Batch FileAfter creating a standard setup package using the Package and DeploymentWizard, you can manually recreate the setup files (Setup.exe, Setup.lst,and all .cab files) by running the batch file found in the in the Supportfolder. Doing this allows you to manually customize the package or torecreate a package without running the wizard again. Running the batch filewill copy setup.exe and setup.lst from the Support folder to the Packagefolder and will generate the cab file(s) in the Package folder. However,once the batch file is finished, setup.lst will not know how many .cabfiles were generated. Unless this problem is remedied, the setup programwill fail.
To remedy this situation, do the following:Before running the batch file, delete all .cab files in the Packagefolder.After running the batch file, count the number of cabs produced by thebatch operation.Open the Setup.lst file in the Package folder with a text editor. NOTE: There are two Setup.lst files. One is found in the Support folder. Thesecond is found outside the Support folder, in the Package folder wherethe .cab files are created. Be sure to open the Setup.lst file in thePackage folder.In the text editor, look for the following lines, which are at the topof the file):

[Bootstrap]SetupTitle=InstallSetupText=Copying Files, please stand by.CabFile=Projec1.CABSpawn=Setup1.exeUninstal=st6unst.exeTmpDir=msftqws.pdw After the last line (TmpDir=msftqws.pdw), insert the following linewhere N equals the number of cabs generated:

Cabs=N The Setup.lst should now be up to date, and the setup won’t fail.
Package And Deployment Wizard: Error 80042114If you are creating a package for Internet deployment and you get thefollowing error:

“Unexpected error 80042114 has occurred: The Web server you selecteddoes not indicate support for the service provider you selected. Do youwant to proceed anyway?”This error occurs because you have specified that your package should beposted to an FTP site using an HTTP URL. If you are certain that you haveaccess privileges to the web server, you can click “Yes” and the deploymentwill proceed.
To avoid this error in the future, when creating a package for deploymenton the same server, specify the site and its protocol. When you do so, thefollowing dialog box will appear:
“The specified URL and publishing method can be saved in the registry asa Web publishing site. This ensures that the URL and publishing methodare valid and saves you time in future deployments to this site. Do youwant to store this information as a Web publishing site?”
If you select “yes,” this saves the site information and you will no longerreceive the 80042114 error.
Package and Deployment Wizard: Use Mdac_typ.Cab and Mdac20.Cab toDistribute Data Access ComponentsWhen your Internet Package includes any of the following four files, thewizard will by default set these files to be downloaded from:
http://activex.microsoft.com/controls/vb6/mdac_typ.cab(http://activex.microsoft.com/controls/vb6/mdac_typ.cab)
MSDAOSP.dll
MSADO15.dll
MSADCF.dll
ODBC32.dll
Similarly, the wizard will, by default, set the following files to bedownloaded from:
http://activex.microsoft.com/controls/vb6/mdac20.cab(http://activex.microsoft.com/controls/vb6/mdac20.cab)
MSADOR15.dll
MSADCO.dll
In both cases, these defaults are indicated as the “Download from MicrosoftWeb site” option on the File Source screen. These cab files (mdac_typ.caband mdac20.cab) perform special handling that should not be attemptedmanually. In order to ensure that the proper handling takes place, yourInternet cab should not include these files but rather should reference thecabs. Therefore, you should never choose the “Include in this cab” optionfor any of these files. In addition, if you choose the “Download fromalternate Web site” option, you should be careful to specify cabs that arecopies of these cabs to ensure that the proper handling takes place.
Do not change the default settings for these files.
Package and Deployment Wizard: Manually Include .ASP and .HTM FilesFor IIS Applications When Using Standard SetupIf you use the Package and Deployment Wizard’s standard setup to deploy anIIS application, you must manually include any .asp or .htm files with thepackage. Add the files using the Include Files dialog box.
Package and Deployment Wizard: Bad Date and Time FormatsIn certain situations, the Package and Deployment Wizard will incorrectlywrite time and date information to the Setup.lst file. When this occurs,the setup will fail because the dates will be written in a form that thesetup.exe can’t read. The problem occurs when you create a deploymentpackage using the US version of Visual Basic on:A computer using the German version of Windows (NOTE: the German versionof Visual Basic will work correctly.)Any computer where the date separator isn’t either a forward slash (“/”)or a dash (“-”).To fix the bad formats:From the Start menu, open Control Panel.Click the Regional Settings icon.On the Date tab, change the Date separator to “/”.On the Time tab, change the Time separator to “:”.Run the Package and Deployment Wizard.Restore the date and time settings.
Package and Deployment Wizard: Unable to Run Setup.exe onFirst Windows 95 VersionAny setup package built with the wizard will not launch on certaininstallations of Windows 95 due to lack of support for an API in theoriginal version of the Oleaut32.dll. This failure will not occur on OSrelease 2 of Windows 95 or any versions of Windows NT 4.0 and later, andwill not occur if Microsoft Office 97 or Internet Explorer 3.0 or 4.0 hasbeen installed. Any installation of a Visual Basic 5.0 application willalso remedy the situation. You can also work around this failure by firstoverwriting the older version of Oleaut32.dll with the latest version. Besure to shut down all applications before attempting to manually updateOleaut32.dll.
Package and Deployment Wizard: Packaging ActiveX DocumentsThe Visual Basic 6.0 Package and Deployment Wizard can insert CODEBASE= andVERSION= information directly embedded into the .vbd file for your ActiveXDocument project. This eliminates the need for having the extra .htm filepreviously used to launch ActiveX Documents. The embedded informationallows Internet Explorer to read the .cab file name for your ActiveXDocument code and version information from the .vbd file and carry out theinstallation. You can now navigate directly to the .VBD file and your Userdocument code will download if necessary.
The same functionality was available for Visual Basic 5.0 setup using theSetCodeBase utility found on the Visual Basic Owners Area.
The following are some issues with Visual Basic 6.0 Package and DeploymentWizard generated setups for User documents:Internet Explorer 3.x. 4.0, and 4.01 cannot read the embeddedinformation in the VBD file. The wizard also generates an old (VB5)style .htm file. This .htm file can be used to launch ActiveX Documents.You must first modify the .htm file, however, since most of the code iscommented out. After removing the comments and an extra <A> tag (<ahref=xxxx.VBD>xxxxx.VBD</a>) from the top,from the top, the file will only be anOBJECT tag with the CLSID of your User document and some script code forWindow_OnLoad event.Internet Explorer 4.01 with Service Pack 1 and later will read thisinformation correctly from the .vbd file.

INFO: VB 6.0 Readme Part 7: Error Message Issues

Symptoms
The information below includes the documentation and workarounds for VisualBasic 6.0. This information can also be found in the README.htm file thatships with Visual Basic 6.0 on the Visual Basic 6.0 CD-ROM. Please see theREFERENCES section of this article for a list of the Microsoft KnowledgeBase articles relating to the Visual Basic 6.0 readme.
Following is a list of all parts of the readme file:
Part 1.Important Issues – Please Read First!
Part 2.Data Access Issues and DataBinding Tips
Part 3.Control Issues
Part 4.Language Issues
Part 5.Samples Issues
Part 6.Wizard Issues
Part 7.Error Message Issues
Part 8.WebClass Designer Issues
Part 9.DHTML Page Designer Issues
Part 10. Extensibility issues
Part 11. Miscellaneous Issues
Part 12. Microsoft Transaction Server (MTS) Issues
Part 13. Dictionary Object
Part 14. Visual Component Manager
Part 15. Application Performance Manager
Resolution
No Help Topic for the Following Error MessagesThere are currently no Help topics for the following error messages:
“Object module needs to implement ‘<name>’ for interface ‘<classname>’.”An interface is a collection of unimplemented procedure prototypes. Thiserror occurs when you specified an interface in an Implements statement,but you failed to add code for all the procedures in the interface.
You must write code for all procedures specified in the interface. An emptyprocedure containing only a comment is sufficient.
For additional information, select the item in question and press F1.
“Private Enum types and Enum types defined in standard modules orprivate classes cannot be used in public object modules as parameters orreturn types for public procedures, as public data members, or as fieldsof public user defined types.”This error occurs when you attempt to use an Enum type (or private Enumtype) as:
A parameter for a public object moduleA return type for a public procedureA public data memberFields of public user-defined typesAvoid using Enum or private Enum types in these circumstances.
“Can’t ReDim, Erase, or assign to Variant that contains array whoseelement is With object.”This error occurs when you attempt to ReDim, Erase, or assign to a Varianta variable whose element is a With object. For example, the following codewill produce this error:

Type TestName as IntegerEnd TypeSub Main()Dim c(0) As TestDim ee = cWith e(0)ReDim e(1)End WithEnd Sub

INFO: VB 6.0 Readme Part 3: Control Issues

Symptoms
The information below includes the documentation and workarounds for VisualBasic 6.0. This information can also be found in the README.htm file thatships with Visual Basic 6.0 on the Visual Basic 6.0 CD-ROM. Please see theREFERENCES section of this article for a list of the Microsoft KnowledgeBase articles relating to the Visual Basic 6.0 readme.
Following is a list of all parts of the readme file:
Part 1.Important Issues – Please Read First!
Part 2.Data Access Issues and DataBinding Tips
Part 3.Control Issues
Part 4.Language Issues
Part 5.Samples Issues
Part 6.Wizard Issues
Part 7.Error Message Issues
Part 8.WebClass Designer Issues
Part 9.DHTML Page Designer Issues
Part 10. Extensibility issues
Part 11. Miscellaneous Issues
Part 12. Microsoft Transaction Server (MTS) Issues
Part 13. Dictionary Object
Part 14. Visual Component Manager
Part 15. Application Performance Manager
Resolution
Lightweight Controls Must Be BorderlessWhen creating a lightweight User control by setting the Windowless propertyto True, the BorderStyle property is invalidated. By definition alightweight control has no border.
If you first set the BorderStyle property to anything other than 0 – Noneand subsequently change the Windowless property to True, you will receivean error message “Windowless UserControls only support BorderStyle = None”.Run Time Error 711: Compiled .Exe Doesn’t Contain Information AboutUnreferenced Control Causing Controls.Add to Fail
Problem:
Create a new Standard EXE. Form1 is created by default.Add a user control to the project.Add the following code:

Dim WithEvents x as VBControlExtenderPrivate Sub Form_Load ()Set x = Controls.Add (“Project1.Usercontrol1″, “XX”)x.Visible = TrueEnd Sub On the File menu, click Make Project1.exe (Don’t run the project.)Run the EXE.
Result: You get an error (711) stating that Project1.Usercontrol1 is aninvalid ProgID since no info about it can be found in the exe.
Solution: Before compiling the project, under the Project menu, clickProject1 Properties. On the Make tab, clear the “Remove informationabout unused ActiveX controls” check box.
Remarks
By default, ActiveX controls that are referenced but not placed on any typeof form at design time are not available for Controls.Add at runtime or inan executable.
Hierarchical FlexGrid Control: ColWordWrapOption, ColWordWrapOptionBand,
ColWordWrapOptionFixed, ColWordWrapOptionHeader PropertiesThe following properties are part of the Hierarchical FlexGrid control’sfeature set but are not documented in the control’s help:
ColWordWrapOption, ColWordWrapOptionBand, ColWordWrapOptionFixed,ColWordWrapOptionHeader. Descriptions and syntaxes for these properties arefound below. Settings for all properties are the same, and can be found atthe bottom of the topic:
ColWordWrapOption Property
Returns or sets a value that specifies how text is wrapped in a specifiedcolumn.
Syntax

object.ColWordWrapOption (Index) = integer
The ColWordWrapOption property syntax has these parts:

PartDescription—————————————————-objectAn object expression that evaluates to a HierarchicalFlexGrid control.IndexLong. The number of the column to get or set word wrapon. The value must be in the range of -1 to Cols – 1.Setting this value to -1 selects all columns.integerA numeric expression that determines how words will wrap,as shown in settings.
ColWordWrapOptionBand Property
Returns or sets a value that specifies how text is wrapped in a specifiedband.
Syntax

object.ColWordWrapOptionBand (BandNumber, BandColIndex) = integer
The ColWordWrapOption property syntax has these parts:

PartDescription—————————————————-objectAn object expression that evaluates to a HierarchicalFlexGrid control.BandNumberLong. The number of the band to get or set word wrap on.The value must be in the range of 0 to Bands – 1.BandColIndexLong. The number of the column to get or set word wrapon. This optional parameter defaults to -1, indicatingall columns in the band. Valid values are -1 to Cols -1.integerA numeric expression that determines how words will wrap,as shown in settings.
ColWordWrapOptionBand Property
Returns or sets a value that specifies how text is wrapped in a specifiedband.
Syntax

object.ColWordWrapOptionBand (BandNumber, BandColIndex) = integer
The ColWordWrapOption property syntax has these parts:

PartDescription—————————————————————objectAn object expression that evaluates to aHierarchical FlexGrid control.BandNumberLong. The number of the band to get or setword wrap on. The value must be in the rangeof 0 to Bands – 1.BandColIndexLong. The number of the column to get or setword wrap on. This optional parameterdefaults to -1, indicating all columns in theband. Valid values are -1 to Cols -1.integerA numeric expression that determines howwords will wrap, as shown in settings.
ColWordWrapOptionFixed Property
Returns or sets a value that specifies how text is wrapped in a specifiedfixed column.
Syntax

object.ColWordWrapOptionFixed(index) = integer
The ColWordWrapOptionFixed property syntax has these parts:

PartDescription—————————————————-objectAn object expression that evaluates to a HierarchicalFlexGrid control.indexLong. The number of the column to get/set word wrap on.This optional parameter defaults to -1. Valid values are-1 to Cols -1.IntegerA numeric expression that determines how words will wrap,as shown in settings.
ColWordWrapOptionFixed Property
Returns or sets a value that specifies how text is wrapped in a specifiedfixed column.
Syntax

object.ColWordWrapOptionFixed(index) = integer The ColWordWrapOptionFixed property syntax has these parts:

PartDescription——————————————————————objectAn object expression that evaluates to aHierarchical FlexGrid control.indexLong. The number of the column to get/setword wrap on. This optional parameterdefaults to -1. Valid values are -1 to Cols-1.integerA numeric expression that determines howwords will wrap, as shown in settings.
ColWordWrapOptionHeader Property
Returns or sets a value that specifies how text is wrapped in columnheaders.
Syntax

object.ColWordWrapOptionHeader(BandNumber, BandColIndex) = integer The ColWordWrapOptionHeader property syntax has these parts:

PartDescription——————————————————————–objectAn object expression that evaluates to aHierarchical FlexGrid control.BandNumberLong. The number of the band to get/set wordwrap on. The value must be in the range of 0to Bands – 1.BandColIndexLong. The number of the column to get/setword wrap on. This optional parameterdefaults to -1 indicating all column headersin the band. Valid values are -1 to Cols -1.integerA numeric expression that determines howwords will wrap, as shown in settings.
Settings
The settings for integer are:

ConstantValueDescription————————————————————flexSingleLine0(Default) Displays text on asingle line only.flexWordBreak1The lines are automaticallybroken between words.flexWordEllipsis2Truncates text that does notfit in the rectangle and addsellipsis.flexWordBreakEllip3Breaks words between lines andsisadds ellipsis if text doesn’tfit in the rectangle.
Hierarchical FlexGrid Control: ColIsVisible and RowIsVisible Properties are
Read OnlyThe ColIsVisible and RowIsVisible properties are read-only properties andcannot be set programmatically. You can use the properties to test whethera column or row is visible, and hide the column or row, if appropriate, asshow below:

With MSHFlexGrid1If .ColIsVisible(1) Then .ColWidth(1) = 0If .RowIsVisible(1) Then .RowHeight(1) = 0End With
Hierarchical FlexGrid Control: Additional Settings for GridLines,GridLinesBand, GridLinesFixed, GridLinesHeader, GridLinesIndent, and
GridLinesUnpopulated PropertiesTwo additional settings are possible for the following properties:
ridLines, GridLinesBand, GridLinesFixed, GridLinesHeader,GridLinesIndent, GridLinesUnpopulated Properties. The possible settingsare show in the table below:

ConstantValueDescription—————————————————————flexGridDashes4Dashed Lines. Sets line stylebetween cells to dashed lines.flexGridDots5Dotted Lines. Sets line stylebetween cells to dotted lines.
Remarks:
These settings can be used in addition to flexGridNone, flexGridFlat,flexGridInset and flexGridRaised.
DataRepeater Control: Setting Public Properties Affect only the Current
ControlWhen creating a user control to be used in a DataRepeater control, be awarethat public properties of the control will be set only on the currentcontrol (the “live” control with the focus). For example, if you expose theFont property of a user control, at run time, resetting that property (asshown in the example code below) will only affect the current control inthe DataRepeater control. The font of repeated controls will not beaffected.

Private Sub Command1_Click()’ Only the current control’s Font will be affected.DataRepeater1.RepeatedControl.FontName = “Courier”End Sub
The corresponding code in the user control would resemble the following:

Public Property Get FontName() As StringFontName = txtProductName.Font.NameEnd PropertyPublic Property Let FontName(ByVal newFontName As String)txtProductName.Font.Name = newFontNameEnd Property
TabStrip Control: Separators show only when the Style property =
TabFlatButtonsSeparators will only appear on a TabStrip control when the Style propertyis set to TabFlatButtons. An example is shown below:

Private Sub Form_Load()With TabStrip1.Style = tabFlatButtons.Separators = TrueEnd WithEnd Sub
Data Report Designer: Error in Event Handling CodeIn the topic titled Data Report Events, there is an error in code thatshows how to handle asynchronous errors. For more information, searchonline, with Search titles only selected, for “Data Report Events” in theMSDN Library Visual Studio 6.0 documentation.
The code is found under the heading “Error Events’ for Asynchronous Events.”The code omits a “Select Case ErrObj.ErrorNumber” statement. The correctedcode is:

Private Sub DataReport_Error(ByVal JobType As _MSDataReportLib.AsyncTypeConstants, ByVal Cookie As Long, _ByVal ErrObj As MSDataReportLib.RptError, ShowError As Boolean)Select Case ErrObj.ErrorNumberCase rptErrPrinterInfo ‘ 8555MsgBox “A printing error has occurred. ” & _”You may not have a Printer installed.”ShowError = FalseExit SubCase Else ‘ handle other cases here.ShowError = TrueEnd SelectEnd Sub
RichTextBox Control: SelPrint Method Has New ArgumentThe SelPrint method now features a second, optional argument. The syntaxand part descriptions are shown below:
Syntax

object.SelPrint(lHDC As Long, [vStartDoc])
The SelPrint method syntax has these parts:

PartDescription—————————————————–objectAn object expression that evaluates to aRichTextbox control.lHDCLong. The device context of the device youplan to use to print the contents of thecontrol.vStartDocBoolean. Specifies the behavior of thecontrol regarding startdoc and enddoc printercontrol operations, as shown in settings.
SettingsThe settings for vStartDoc are:

ConstantValueDescription—————————————————————True-1(Default) The control retains itsoriginal behavior and sends startdocand enddoc commands to the printer.False0The control doesn’t send startdoc andenddoc commands, but sends onlystartpage and endpage commands to theprinter.
Remarks:
The argument was added to remedy situations when printers do not print withthe default behavior. When the SelPrint method is invoked, both VisualBasic and the RichTextBox control send startdoc and enddoc commands to theprinter resulting in a nested pair of startdoc/enddoc commands. Someprinters respond only to the first pair of commands and thereby becomedisabled when the RichTextbox control sends the second pair. In that case,setting the vStartDoc argument to False prevents the second pair ofcommands from being sent.
Visual Basic 5 Version of MSChart Control Available in Tools DirectoryFor pre-release users of Visual Basic only:
A Visual Basic 5.0x version of the MSChart control is now included withVisual Basic. If you need a Visual Basic 5 version of the Chart control,and you have installed the pre-release version of the MSChart control,please overwrite the pre-release version with the version contained in theTools directory of the Visual Basic CD.
Toolbar Control: Style Property Settings ChangedThe Style property settings for the Toolbar control have been changed. Thehelp topic for the property lists tbrTransparent and tbrRight as possiblesettings, however these are not implemented in the current version. Theactual possible settings and descriptions are shown below:

ConstantValueDescription————————————————————–tbrStandard0(Default) Standard toolbar.tbrFlat1Flat. The borders of a buttondynamically appear when the cursorhovers over the button.
Visual Basic Run-Time Error 720: Attempting to Add Anything Except a
Control to Controls Collection Causes Run-Time ErrorAttempting to add an object that is not a control to the Controlscollection causes run-time error 720. You can only add Visual Basicintrinsic controls or ActiveX controls to the collection.To reproduce:
Create a new Standard Exe. Form1 is created by default.Add the following code:

Private Sub Form_Load ()Controls.Add “Excel.Application”, “MyExcelApp”)End Sub Run the exe.Result: You get an error (720): Invalid class string.
Hierarchical FlexGrid Control: Correcting Errors Binding a Recordset to the
HFlexGridIf you receive the following error when trying to bind the HierarchicalFlexGrid to an ADO Recordset object, “DataSource settings may beincorrect”, try changing some of the behavioral properties associated withthe ADO Recordset Object or Command. For example, change the CursorLocationproperty to adUseNone or adUseClient.
Hierarchical FlexGrid Control: How to Change the Font of Individual BandsSince the same font object is used for the entire grid object, you mustcreate a new font object to change the fonts of individual bands, ratherthan changing the font directly.
For example, this way will not change the font for the individual band:

MSHFlexGrid1.FontBand(1).Name = “Arial”
Since you are directly modifying the font object, this will change thefonts in all of the bands to Arial.
To change an individual band, first create a new Font object, then assignthat Font object to the FontBand property:

Dim ft As New StdFontft.Name = “Arial”Set MSHFlexGrid1.FontBand(1) = ft
This will change just the band’s font to Arial.
Hierarchical FlexGrid Control: Avoiding the display of duplicate headersBy default, the Hierarchical FlexGrid control uses the first FixedRow inthe Hierarchical FlexGrid as a set of headers (which means it displays thenames of the fields bound to each column in this row). Since, by default,the HFlexGrid control displays one FixedRow, if you enable the display ofheaders on Band 0, it will appear as though the header is being duplicatedtwice. To avoid this, set the FixedRow property to 0, or clear out the textvalues in the first FixedRow using code.
ADO Data Control: FetchProgress and FetchComplete Events Not ImplementedAlthough the reference topic for the ADO Data Control includes links to theFetchProgress and FetchComplete events, the events are not implemented forthe control.
DataGrid: SizeMode and Size Properties Do Not Accept Value of 2
(dbgNumberOfColumns)The reference topics for the Split object’s SizeMode and Size propertiesrefer to a non-existent property value of 2 (dbgNumberOfColumns). Pleaseignore this value.
Controls: ImageList Control on Page DesignerWhen using the ImageList control on a DHTML Page designer, images cannot beadded at design time. If you try to use the following code in an uncompiled.dll project, you will get the run-time error: -2147418113 (8000ffff),”Method ‘Add’ of object images failed”.

Private Sub DHTMLPage_Load()ImageList1.ListImages.Add , , LoadPicture(“C:\Winnt\winnt.bmp”)End Sub
However, the code will work when the .dll project is compiled.
MSComm Control: EOFEnable Property Doesn’t Stop Data InputThe EOFEnable property determines if the OnComm event occurs when an EOFcharacter is detected. Contrary to the documentation for the property,however, input does not stop.
Treeview Control: Node Object’s Visible Property is Read-OnlyThe Visible property of the Treeview control’s Node object is a read-onlyproperty. If the node is not visible, you can use the EnsureVisible methodto make it visible, as shown in the example:

Private Sub Command1_Click()If Not TreeView1.Nodes(10).Visible ThenTreeView1.Nodes(10).EnsureVisibleEnd IfEnd Sub
SysInfo Control: Constants Not SupportedThe reference topics for the following events have lists of constants thatidentify devices and device data.:
DeviceArrival EventDeviceOtherEvent EventDeviceQueryRemove EventDeviceQueryRemoveFailed EventDeviceRemoveComplete EventDeviceRemovePending EventContrary to the documentation, however, these constants are not supportedby the events or the SysInfo control. The values associated with theconstants listed in the help topics are valid, but the constant names arenot.
User Control: Binary Persistence of PropertyBag Data Causes Page Designer
to FailThe PropertyBag saves data in binary format. Due to a known problem withbinary persistence and the DHTML page designer, however, such data causesthe page designer and Visual Basic to fail. See Page Designer: BinaryPersistence Issue for more information.

INFO: VB 6.0 Readme Part 15: Application Performance Explorer

Symptoms
The information below includes the documentation and workarounds for VisualBasic 6.0. This information can also be found in the README.htm file thatships with Visual Basic 6.0 on the Visual Basic 6.0 CD-ROM. Please see theREFERENCES section of this article for a list of the Microsoft KnowledgeBase articles relating to the Visual Basic 6.0 readme.
Following is a list of all parts of the readme file:

Part 1.Important Issues – Please Read First!Part 2.Data Access Issues and DataBinding TipsPart 3.Control IssuesPart 4.Language IssuesPart 5.Samples IssuesPart 6.Wizard IssuesPart 7.Error Message IssuesPart 8.WebClass Designer IssuesPart 9.DHTML Page Designer IssuesPart 10. Extensibility issuesPart 11. Miscellaneous IssuesPart 12. Microsoft Transaction Server (MTS) IssuesPart 13. Dictionary ObjectPart 14. Visual Component ManagerPart 15. Application Performance Manager
Resolution
Known Problems in Application Performance Explorer:
Configuring Remote Automation Security When Using Remote APE ComponentsIn order to use Remote Automation (RA) to communicate with remote APEcomponents, you may have to configure RA security using the RemoteAutomation Connection Manager (Racmgr32.exe).
To configure RA security:
Start Racmgr32.exe and click the Client Access tab.Select either “Allow All Remote Creates” or “Allow Remote Creates byKey”.If “Allow Remote Creates by Key” is selected, make sure the “AllowRemote Activation” check box is checked for each APE component.RA supports the following levels of authentication:

NameValueDescription———————————————————————Default0Use Network default.None1No authentication.Connect2Connection to the server is authenticated.Call3Authenticates only at the beginning of eachremote procedure call, when the serverreceives the request. Does not apply toconnection-based protocol sequences (thosethat start with the prefix “ncacn”).Packet4Verifies that all data received is from theexpected client.Packet5Verifies that none of the data transferredIntegritybetween client and server has beenmodified.Packet Privacy 6Verifies all other levels and encrypts theargument values of each remote procedurecall.
APE profiles are initially installed with an authentication level of 1(“None”) because Windows 95 supports only that level of authentication.However, if additional security is desired, the level of authentication ofa profile can be changed by modifying the profile collection file (theAemanagr.ini file) by using a text editor such as Notepad.
Each profile in the profile collection file begins with the name of theprofile within square brackets, such as [Peak performance, synchronous(CPU, Pool)]. The attributes of the profile follow, using the format<name>=<value> (such as “Task Duration=1″). To change the authenticationlevel, change the value of the “Authentication” attribute of the selectedprofile and save the file.
Compatibility Issues Between the Application Performance Explorer (APE)that Ships with Visual Studio 6.0 and the Version that Shipped with Visual
Basic 5.0There are known compatibility issues between the Application PerformanceExplorer (APE) that ships with Visual Studio 6.0 and the APE that shippedwith Visual Basic 5.0.
To avoid the compatibility issues, do one of the following:
Before installing Visual Studio 6.0 and APE on the computer that has theversion of APE shipped with VB 5, first uninstall APE from Visual Basic,and then install Visual Studio and APE.If you have installed Visual Studio 6.0 and APE on the same computerthat has the VB5 APE, uninstall the VB APE and then reinstall the VisualStudio APE.
Adjusting Default Settings To Use APE and MTSAfter installing the APETEST database onto your SQL Server, you must adjustsome of the default settings in order to use APE and MTS.
NOTE: If you haven’t already installed the APETEST database on your SQLServer, you should do that first. To learn how to install the APETESTdatabase, search for the topic “APE Database Setup Wizard” in MSDN LibraryVisual Studio 6.0.
To configure the APETEST database installation to work with MTS:
Start Microsoft SQL Enterprise Manager.In the Databases folder, right-click the APETEST database and clickEdit.Click the Options tab.Select the Truncated Log on Checkpoint check box and click OK.In the Databases folder, right-click the tempdb database and click Edit.Click Expand.In the Data Device box, select <new>.In the New Database Device dialog box, in the Name box, type tempdbData.In the Size (MB) box, type 10.Click Create Now, and finally click OK.Click Expand Now.Click Expand.In the Log Device box, select <new>.In the New Database Device dialog box, in the Name box, type tempdbLog.In the Size (MB) box, type 10.Click Create Now, and finally click OK.To configure the allowable number of user connections:
Start Microsoft SQL Enterprise Manager.Right-click the server and click Configure.For example, if your server is named CORONA, in the Server Manager childwindow, right-click CORONA and then click Configure.Click the Configuration tab.In the Configuration box, increase the number of user connections by atleast 15.
NOTE: If you are running APETEST on an established production databaseserver, you may not have access permission to adjust the current number ofuser connections. In this case, you should ask your database administratorto increase the number of current user connections by at least 15connections to support APE testing.
Application Performance Explorer Server-Side Setup May Generate ErrorWhile installing the APE server-side components, you may see an errorreferring to an incorrect version of OLEAUT32.dll. You may dismiss thiserror and continue with the installation.
However, this error message may indicate that the Microsoft TransactionServer Package was not installed correctly. To confirm that it wasinstalled correctly, run the Transaction Server Explorer and look for allinstalled MTS packages on your computer. Visual Studio APE Package shouldbe listed.
To install the package, AEMTSSVC.pkg, run the MTS Transaction ServerExplorer from the Start menu and install the package to the local computerusing the MTS Explorer.

INFO: VB 6.0 Readme Part 2: Data Access/Databinding Issues

Symptoms
The information below includes the documentation and workarounds for VisualBasic 6.0. This information can also be found in the README.htm file thatships with Visual Basic 6.0 on the Visual Basic 6.0 CD-ROM. Please see theREFERENCES section of this article for a list of the Microsoft KnowledgeBase articles relating to the Visual Basic 6.0 readme.
Following is a list of all parts of the readme file:
Part 1.Important Issues – Please Read First!
Part 2.Data Access Issues and DataBinding Tips
Part 3.Control Issues
Part 4.Language Issues
Part 5.Samples Issues
Part 6.Wizard Issues
Part 7.Error Message Issues
Part 8.WebClass Designer Issues
Part 9.DHTML Page Designer Issues
Part 10. Extensibility issues
Part 11. Miscellaneous Issues
Part 12. Microsoft Transaction Server (MTS) Issues
Part 13. Dictionary Object
Part 14. Visual Component Manager
Part 15. Application Performance Manager
Resolution
Error in Data Environment Designer Code ExampleIn the topic, “Programmatically Accessing Objects in Your Data EnvironmentDesigner,” the example under “Executing a Command Object with MultipleParameters” erroneously uses the Open method:

MyDE.Commands(“InsertCustomer”).Parameters(“ID”).value = “34″MyDE.Commands(“InsertCustomer”).Parameters(“Name”).value = “Fred”MyDE.Commands(“InsertCustomer”).Open
There is no Open method for the Commands object. You must use the Executemethod instead.
Incompatibilities with Data-bound ControlsDue to changes in Visual Basic 6.0, not all data-bound controls arecompatible with all data sources. This incompatibility is due to adifference in the internal binding mechanisms of ADO versus DAO/RDO.Controls that were created specifically to work with DAO/RDO can’t be boundto an ADO Data control; controls created for use with ADO can’t be bound tothe standard Data control or the Remote Data Control.
This incompatibility primarily applies to complex-bound controls such asgrids or lists that bind to multiple fields in a data source; simple-boundcontrols such as text boxes or labels that bind to a single field will workwith either type of data source. Some examples are as follows:
The Microsoft Data Bound Grid control (Dbgrid32.ocx) can be bound to theDAO or RDO Data controls; it can’t be bound to the ADO Data control. The Microsoft DataGrid control (Msdatgrd.ocx) can be bound to the ADOData control; it can’t be bound to the DAO or RDO Data controls. The Microsoft Masked Edit Control (Msmask32.ocx) can be bound to any ofthe Data controls. The intrinsic controls (TextBox, PictureBox, Label, and so on) can bebound to any of the Data controls. Third-party controls and Visual Basic-authored User controls should betested on a case-by-case basis. When attempting to bind a control to a data source at design-time, you mayencounter a “No compatible data source” error message. In this case, youwill need to substitute another control that is compatible with your datasource.
Binding to Properties of Objects May Yield Unexpected ResultsWhile it is possible to bind any object to any other object, the resultsmay not always be what you expect. Some properties are read-only bindableand will not update their bound source.
For example, if you were to bind the Caption property of a Frame control toa field named Foo in an ADO Recordset object, the Caption would change toreflect the value of Foo as you scrolled through the Recordset. If,however, you changed the Caption property programmatically (Frame1.Caption= “Bar”), the value of Foo would not be updated. Because the Captionproperty of the Frame is read-only bindable, it doesn’t providenotification that its data has changed.
This isn’t a problem for Visual Basic-authored objects, since you can callthe PropertyChanged method in your object’s code. For other objects, youcan determine if a property is update bindable by checking the DataBindingscollection. If a property is enumerated in the DataBindings collection, itis update bindable and the data source will receive updates to data; if itisn’t enumerated, the property is read-only bindable.
Complex Binding to an ADO Recordset Requires CursorTypeWhen binding an ADO Recordset object to a complex-bound control (such as aGrid control), it is necessary to explicitly set the CursorType property toeither adOpenStatic or adOpenKeyset. If you don’t set this property, nodata will be displayed. The following code shows the use of the CursorTypeproperty:

Private Sub DataClass_Initialize()Set cn = New ADODB.ConnectionSet rs = New ADODB.Recordsetrs.CursorType = adOpenStaticcn.Open “northwind”rs.Open “customers”, cnEnd SubBinding to a simple-bound control (such as a TextBox) doesn’t requirea specific CursorType.
Creating Visual Basic Data Sources: Type the Fields as adVarChar
for SQL Server and Access Databases Instead of adBSTRWhen appending fields to an ADO Recordset object for use with a SQLServer or Access database, type the fields as adVarChar instead ofadBSTR (as shown in some sample code). When reading data out of eitherSQL Server or Access databases, ADO will use the adVarChar type.
Incorrect References for Creating OLE DB ProvidersThe documentation erroneously states that it is possible to set a classmodule’s DataSourceBehavior property to 2 – vbOLEDBProvider to create anOLE DB data provider. The correct values for DataSourceBehavior are 0 -vbNone and 1 – vbDataSource.
The documentation also erroneously refers to a non-existent event in classmodules called OnDataConnection.
Finally, in the topic “Creating the MyDataSource Class,” the step-by-stepexample incorrectly states that you should set DataSourceBehavior to 2 -vbOLEDBProvider. Instead, you should set DataSourceBehavior to 1 -vbDataSource.
To create OLE DB data providers using Visual Basic, use the Provider WriterToolkit included with the OLE DB SDK. For more information, see the OLE DBSimple Provider Toolkit in the Platform SDK Documentation on MSDN.
Finding Help For ADO ObjectsWhen using the ADO objects, (for example, Recordset, Connection, Command,Parameter, ADOR, RDS, and RDS Server object), you cannot get context-sensitive help on the object or its properties, events, or methods. Thatis, if you have a reference to the object and you use one of its features,selecting the code and pressing F1 does not result in a help topic.Instead, you will get either a wrong topic or the “Keyword Not Found”topic.
However, you can get help on any of the object’s properties, events, ormethods by using the online documentation Index:
If the MSDN documentation viewer is not open, on the Help menu, clickContents.Click the Index tab.Type the name of the property, event, or method including the word”collection”, “property”, “event”, or “method” as appropriate.From the list of available topics, select the topic that includes “ADO”in its title.
NOTE: You can also find additional help on other ADO topics, such as theADO object model, by looking in the MSDN Library Table of Contents: openPlatform SDK and under Database and Messaging Services, go to MicrosoftData Access SDK.
SQL Server OLE DB Provider Requires New instcat.sqlBefore using the SQL Server OLE DB data provider, you must run the versionof instcat.sql distributed with Microsoft Visual Basic 6.0 on SQL Server(version 6.5 and later). Instcat.sql is distributed with Visual Basic 6.0and can be found in the \winnt\system32 directory upon installation.
If Instcat.sql is not run on your SQL Server, the provider is unable toretrieve metadata from the SQL Server, and thus will not be able to connectto that server.
Setup for Data Access Applications May Fail on Windows 95/98When redistributing a Visual Basic 6.0 application that includes dataaccess components, setup will fail if DCOM for Windows 95 and Windows 98isn’t present on Windows 9x client machines.
The file Mdac_typ.exe is added to your setup package by the Package andDeployment Wizard if your project includes references to ADO, OLEDB, orODBC (you can check for this on the Included Files page of the wizard).This file installs MDAC 2.0 files on the client computer. MDAC 2.0 requiresDCOM for Windows 95 and Windows 98 in order to function properly, howeverit does not perform a check for this during setup. The setup will fail ifDCOM for Windows 95 and Windows 98 isn’t present on the client machine.Some of the older data access components will be overwritten prior to thefailure, possibly causing older data access applications on the client tofail.
When distributing data access applications for Windows 9x, you need to makesure that DCOM for Windows 95 and Windows 98 is installed on the client.DCOM98.EXE is a self-extracting executable file that installs the updatedDCOM components for Windows 95 or Windows 98. It can be found in the DCOM98directory of the Visual Basic 6.0 CD. This file may be freely distributedwith your Visual Basic application.

INFO: VB 6.0 Readme Part 11: Miscellaneous Issues

Symptoms
The information below includes the documentation and workarounds for VisualBasic 6.0. This information can also be found in the README.htm file thatships with Visual Basic 6.0 on the Visual Basic 6.0 CD-ROM. Please see theREFERENCES section of this article for a list of the Microsoft KnowledgeBase articles relating to the Visual Basic 6.0 readme.
Following is a list of all parts of the readme file:
Part 1.Important Issues – Please Read First!
Part 2.Data Access Issues and DataBinding Tips
Part 3.Control Issues
Part 4.Language Issues
Part 5.Samples Issues
Part 6.Wizard Issues
Part 7.Error Message Issues
Part 8.WebClass Designer Issues
Part 9.DHTML Page Designer Issues
Part 10. Extensibility issues
Part 11. Miscellaneous Issues
Part 12. Microsoft Transaction Server (MTS) Issues
Part 13. Dictionary Object
Part 14. Visual Component Manager
Part 15. Application Performance Manager
Resolution
Returning an Error Value from a DLLTo return an error value from a dynamic link library (DLL) procedure, the Clanguage prototype must be coded so that the return value is an HRESULT.Refer to the Microsoft Press OLE 2 Programmer’s Reference, Volume 2 formore information on how to do this.
Data Access Guide: DataFormats Tutorial Has Wrong File ExtensionThe topic named “Format Objects Tutorial” contains a wrong reference to afile with the extension .mdl. The actual file extension is .udl. For moreinformation, search online, with Search titles only selected, for “FormatObjects Tutorial” in the MSDN Library Visual Studio 6.0 documentation.The file in question is listed as “Northwind.mdl,” but should be”Northwind.udl.”
External Editor Field Added to Options Dialog BoxThe Advanced tab of the Options dialog box has a new text box calledExternal HTML Editor. This option allows you to select the HTML editingprogram that appears when you select Launch Editor from either the DHTMLPage Designer or the Webclass Designer. You must enter the drive, path, andexecutable name of the program you want to use. You can choose an HTMLediting program, a word processing program, or the text editor you preferto use.
CodeBase Fixup Utility in Internet Component DownloadThe “Downloading ActiveX Components” section of the Building InternetApplications book makes reference to a utility called the CodeBase FixupUtility that can be used to manually set codebase information in an ActiveXdocument. This information is incorrect. The utility is not shipped in the\Tools directory with Visual Basic, and you do not need to perform thisprocess manually for Internet Explorer 4.0 because the Package andDeployment wizard automatically inserts the appropriate codebaseinformation for these and other applicable projects.
Text in Project Properties/Open Dialogs Truncated
in Japanese, Chinese, and Korean Versions of WindowsWhen you run Visual Basic in the Japanese, Chinese, or Korean version ofWindows, you may notice that text in the Project Properties or Open dialogsis truncated. If this occurs, shut down Windows, restart it, then restartVisual Basic and the problem will be fixed.
Avoid Using Repository Add-In with ActiveX DesignersYou should avoid using the Repository add-in with projects that containActiveX designers.
For a complete list of available designers, on the Project menu in VisualBasic, click Components, and then click the Designers tab in the Componentsdialog box.