April 2000
Your feedback is greatly appreciated and will help us give you the most useful features.
Please visit our website for the Microsoft© Windows CE tools at http://www.microsoft.com/cetools.
To locate material in these Release Notes, select one of the general categories under Contents, or choose Find from the Edit menu of the browser.
This release supports the following SDKs:
This release supports the following desktop operating systems:
Workaround:
When VBCE 6.0 has been uninstalled, you must reinstall eMbedded Visual Basic 3.0.
When eMbedded Visual Basic 3.0 has been uninstalled, you must reinstall VBCE 6.0.
Workaround:
This driver is installed with Visual Basic 6.0.
Invalid Setup File Error
We suggest that you include no more than one CPU from a CPU family when creating a setup with the VB App Install Wizard. If you include multiple CPUs from the same family then it will cause confusion when your users try to go and install it.
H/PC Pro — Form Object
The ShowInTaskBar property is always true, regardless of whether it is set to True or False in the Properties or Code windows.
Pocket PC — Quitting an Application
When an Input box is displayed, Ctrl+Q will not work to quit the application. You must first close the Input box.
Saving Forms
Saving a Visual Basic 6 and eMbedded Visual Basic form in the same directory with the same name causes errors if the forms contain a ListBox and or a ComboBox, because both forms (Visual Basic 6 and eMbedded Visual Basic) access the same .frx file.
Erroneous Return Value
VarType(Screen.ActiveControl) returns 11(vbBoolean). Should return 9(vbObject)
Activate vs. Resize events
On the emulator, eMbedded Visual Basic invokes the Activate event before Resize event.
ActiveX DLLs, Removing While In Use
The Control Manager allows you to remove the references to ActiveX controls while they are in use. Although the controls are not removed from the device, they are removed from the Registry. Closing the application and trying to run it again results in an error message.
Workaround
Be careful not to uninstall from the device any ActiveX controls needed for your application.
ADOCE for H/PC Pro and Palm-size PC 1.2 Platforms
The sample code throughout the online Help documents is modeled on the Pocket PC platform.
Workaround:
To use the ADOCE data access object with the H/PC Pro and Palm-size PC 1.2 platforms:
Following is sample code showing how to programmatically reference the ADOCE control using eMbedded Visual Basic for the H/PC Pro and Palm-size PC 1.2 platforms:
Dim objRecordset 'Declare a variable for the recordset
Set objRecordset = CreateObject("ADOCE.Recordset")
APIs — Additional Supported:
CreateFileForMapping:
Syntax:
Public Declare Function CreateFileForMapping Lib "Coredll" (ByVal lpfilename As String, ByVal dwDesiredAccess As Long, ByVal dwShareModule As Long, lpSecurityAttributes As Long, ByVal dwCreateDisposition As Long, ByVal dwFlagsandAttributes As Long, ByVal hTemplateFile As Long) As Long
APIs — Not Supported
The following APIs are not supported:
| AbortDoc | GetCurrentThread |
| CheckRadioButton | GetCurrentThreadID |
| CloseEnhMetaFile | GetObject |
| CreateCursor | GetProcAddress |
| DeleteEnhMetaFile | GetStringType |
| EndDoc | GetStringTypeA |
| EndPage | LockResource |
| EnumSystemCodePages | MsgWaitForMultipleObjects |
| EnumTimeFormats | SetClassWord |
| ExitWindowsEx | SetSysColors |
| GetAsyncKeyState | StartPage |
| GetCurrentProcess | WnetOptnEnum |
| GetCurrentProcessID |
"CreateObjectWithEvents" Keyword
This keyword is recognized, and the functionality works; however, the IDE is case-sensitive in this instance, and the keyword must be properly capitalized: "CreateObjectWithEvents"
Custom Menu Bars: Not supported for this release. You are not able to save customizations of menu bars in the IDE.
Declare Statements
"Global" Keyword Not Supported.
The keyword "Global" is not supported by the version of VBScript used for eMbedded Visual Basic.
MsgBox Constant vbSystemModal
MsgBox is implemented on VBScript and does not support vbSystemModal. The constant is included to allow backward compatibility.
MoveWindow Function
This function does not generate the WM_SIZE message in the emulator for the same size window. The Resize event is not evoked.
Porting VBCE 6.0 Project Causes Loss of Data
When loading a project created in a prior version of eMbedded Visual Basic, the Application Title and all the Version Information is removed. This includes the Title, Comments, CompanyName, FileDescription, LegalCopyright, LegalTrademarks, and ProductName properties of the Application.
Recovering Controls Removed from the Toolbox
The Components dialog box notes that : " Pressing SHIFT while clicking OK removes unused control references from your project."
This is true, and works very well with all ActiveX controls. However, if you have not included any intrinsic controls on your form prior to executing this action, all of the intrinsic controls (except Line and Shape) will be removed from the toolbox.
Workaround:
If the intrinsic controls have already been removed, they can be added to the Components.
Resource Editor
The eMbedded Visual C++ Resource editor can be used for creating Resource Files to run in eMbedded Visual Basic.
Sub Main Converts to Form
When you open a vbp project which uses a Sub Main as the startup object, it is converted to a form name. This results in the project running but behaving incorrectly.
Workaround:
Use the Project Properties dialog box to change the startup object back to Sub Main.
Terminating an Application
Pvbkill does not terminate an application if the path does not have "\" at the beginning of it.
Changing the Icons for a TreeView Control:
There are two images for the TreeView control, the "Image" and "SelectedImage". When the Image property is initially set by the user, the unselected image is the one which is set. To change the image of the SelectedImage property, you must explicitly set SelectedImage.
Commandbar Buttons Not Displayed Properly
If you add a ComboBox to the CommandBar and the ComboBox width exceeds the form width, the CommandBar divides into two lines. At run-time, only the upper half of the CommandBar buttons will be visible. To avoid this scenario, reduce the Width of the ComboBox or try to make it multiple-button width.
ComboBox and ListBox:
CommonDialog Control
When using ShowSave, if the filename entered is slightly smaller than the MaxFileSize an erroneous error is raised.
Frame and Child controls
When a parent frame is disabled, child controls continue to report their actual window state. Everything works correctly if controls are disabled individually or not contained inside a frame.
Grid Control
CellFontWidth Property
The default value for this property is zero. If you read the value of this property before setting it to anything, it returns a value of zero. However, if you set the CellFontWidth property to a value then read it back, you are able to read back the value that you set correctly. The new font width is also reflected correctly in the string displayed on the screen. This is true for both English and Japanese fonts.
Constants — ColAlignment Property
The constants for the Grid control's ColAlignment property have changed. The following table illustrates the changes.
| Old Constant | New Constant |
|---|---|
| FlexAlignCenter | FlexAlignCenterCenter |
| FlexAlignLeft | FlexAlignLeftCenter |
| FlexAlignRight | FlexAlignRightCenter |
Constants — Sort Property
The constants for the Grid control's Sort property have changed. See the Online Help documentation for the new Sort constants.
Selecting Cells
When the Row or Col property of a Grid control is set to a cell which is already selected, the LeaveCell, EnterCell, RowColChange, and SelChange events all fire, as if a new cell has been selected.
Workaround:
Use a global boolean variable. Set it before changing Row or Col, test for it in the event handler, unset it after changing Row or Col.
Code Example:
Option Explicit Dim bIgnoreGridEvents As Boolean Private Sub Form_Load() bIgnoreGridEvents = False End Sub Private Sub MyMethod() bIgnoreGridEvents = True GridCtrl1.Col = 1 bIgnoreGridEvents = False End Sub Private Sub GridCtrl1_LeaveCell() If bIgnoreGridEvents Then Exit Sub MsgBox "You clicked a cell!" End Sub
Image Control
The Picture property of the Image control does not support 24-bit bitmap images.
Workaround:
Use a 16-bit image instead.
Intrinsic Controls
| Container | HWnd | Redraw |
| FontBold | ItemData | SelCount |
| FontItalic | List | SelLength |
| FontStrikethru | ListCount | SelStart |
| FontUnderline | ListIndex | SelText |
| FontName | NewIndex | TopIndex |
| FontSize | Parent | Value |
Label Control, Disabling at Design Time
Setting the Enabled property of a label control to False at design time causes an Application error.
Workaround:
Set the property at run time in the Form_Load event.
ListView Control
PictureBox Control
Shape and Line Controls
The z-order of the Shape and Line controls cannot be changed during run time.
Textbox Control
TreeView Control
Workaround:
The following is an example of acceptable syntax:
Dim n As Node On Error Resume Next For n = 1 To Tree1.Nodes.Count If Err.Number <> 0 Then MsgBox Err.Number & vbCr & Err.Description End If If Tree1.Nodes(n).Expanded Then Tree1.Nodes(n).Expanded = False End If Next End Sub
Winsock Control
BytesTotal accurately reports the length of the data string in each DataArrival event.
When sending data from the VB 6 control to the CE control, the control behaves as expected with a single DataArrival event and data string.
The Debug object is not supported. Code completion shows Debug object methods in the Immediate Window.
Break Mode/Setting Breakpoints
Workaround:
Set the breakpoint on the line following the Do statement.
Debug Methods
Err Object — LastDLLError property
This property, though included in the Code Completion options, is not supported for the H/PC Pro or Pocket PC platforms.
Immediate Window
Watches Window
Unsuported:
Type Property
CommandBar.Controls.Item(1).Type
Dice— H/PC Pro and Palm-size PC 1.2
After finishing a game of Dice, you will be prompted to play another game. If you click yes, Dice generates the following application error:
Application Error
An error was encountered while running this program: Variable is undefined: "mnuGameNew_Click"
Winsock Sample — H/PC Pro and Palm-size PC 1.2
2. Run the Wsock_HP.vbp (or Wsock_HPCProp.vbp) application on the remote device or emulator.
The line should read:
2. Run the Wsock.ebp application on the remote device or emulator.
The GetData property within the DataArrival event causes the DataArrival event to fire twice if more than 8K of data is sent to the device. Typically the GetData method is used in the DataArrival event; the docs also state this fact. If less than 8K is sent to the device, then the DataArrival event only fires once and everything works as expected.
Note No data is actually lost, it is merely sent in two or more separate events. That the correct number of bytes are received by the app on the device can be proved by changing the sample to output "Len(sockdata)" in a button click event and pressing the button after the DataArrival event stops firing.
If you have accepted the default directories when installing Microsoft eMbedded Visual Tools, additional documentation can be found in the following locations:
| Subject Area | Path and File Name |
|---|---|
| Installation and Setup | C:\Program Files\Microsoft eMbedded Tools\README.HTM |
| eMbedded Visual Basic | C:\Program Files\Microsoft eMbedded Tools\EVB\releasenotes.htm |
| eMbedded Visual C++ | C:\Program Files\Microsoft eMbedded Tools\EVC\releasenotes.htm |
| SDK: H/PC Pro | C:\Windows CE Tools\hpcproreadme.htm |
| SDK: Palm-size PC 1.2 | C:\Windows CE Tools\pspc12readme.htm |
| SDK: Pocket PC | C:\Windows CE Tools\pocketpcreadme.htm |
Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, people and events depicted herein are fictitious and no association with any real company, organization, product, person or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
© 2000 Microsoft Corporation. All rights reserved.
Microsoft; MS-DOS; Windows; Windows NT; eMbedded Visual Basic; eMbedded Visual C++; SDK for Windows CE, Handheld PC Professional Edition 3.0; SDK for Windows CE for the Palm-size PC 1.2; and Windows Platform SDK for Pocket PC are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.