![]() |
Site Archive (Complete) | |||
|
ABOUT US |
CONTACT |
ADVERTISE |
SUBSCRIBE |
SOURCE CODE |
CURRENT PRINT ISSUE |
NEWSLETTERS
|
RESOURCES
|
BLOGS
|
PODCASTS
|
CAREERS
|
||||
February 01, 2002
An Unexpected ReleaseDeveloping software for the Pocket PC was once an arduous task, but Microsoft's Embedded Visual Tools has come to the rescue-easing the programming pain once found in the world of Windows CE PDAs.
I had owned my Pocket PC for about eight months, but was unable to develop software for it. The only way to do so required Visual Studio as well as the CE SDK, and could only be done using Visual C++. I had pored over the SDK documentation, but had given up, disappointed that developing homegrown software for my Pocket PC was so difficult. That all changed when, without fanfare, Microsoft released Embedded Visual Tools in January 2001. The most amazing thing was that this product, unlike Microsoft's other development tools, was free. It did require a 304Mb download, but it was also available on CD-ROM for the cost of shipping. Embedded Visual Tools consists of the Visual Studio development environment, which runs on a standard Windows PC, and versions of Visual Basic and Visual C++ with features targeted for use on the entire family of Windows CE devicesHandheld PC, Palm-size PC and Pocket PC. Visual C++ programs compile to machine code for a specific processor family, while Visual Basic programs compile to an intermediate code that can run on all supported processors. Visual Basic is typically used to develop software that has a user interface, while Visual C++ is designed to allow easy creation of device drivers, ActiveX components and other "behind the scenes" software.
Visual Basic All of the standard visual features are therean abundance of toolbars (dockable or free-floating), project and properties windows, an immediate window, a tool palette, and windows for forms and code. Anyone familiar with Visual Basic will feel instantly at home. One thing missing from Embedded Visual Basic is the wealth of ActiveX controls found in the Visual Studio version. However, Embedded VB does contain standard controls for the buttons, lists, text boxes and common dialogs, along with image, image list and picture box controls. Fortunately, Microsoft also provides a menu bar, grid and tree view control, allowing you to create modern-looking applications. Since Windows CE has a different type of file system, there's a control for that. Finally, the collection is rounded out with a WinSock control, allowing easy access to network features. Long ago, Visual Basic acquired a sort of cult status, and many long-time VB developers are switching to Embedded Visual Basic. One of the results of this migration is a proliferation of Web sites with tutorials and white papers. The tutorials generally concentrate on one particular technique, with example source code. A good example of such a site is www.devbuzz.com.
Visual C++ It was also designed to leverage the knowledge of existing Visual C++ developers. All of your old friends are here: MFC (Microsoft Foundation Classes), ATL (Active Template Library) and the API. MFC was Microsoft's first framework and can be used to create applications that use the document and view concept. ATL can be used to develop ActiveX controls (for those VB user interfaces). And, if none of those suit you, you can fall back on the tried and true Windows API. There are, of course, differences between the Windows CE API and other 32-bit Windows APIs, but Windows CE did manage to pack most of the old APIs into its slim footprint.
Features Standard Visual Studio features are available in remote versions, allowing you to spy, edit registry entries, view files, view processes or walk the heap on your attached CE device. One difficulty in distributing Windows CE applications is the necessity to install them from a desktop to the device. An Application Install wizard makes it easy to create a single Windows executable program that will install files that you specify on the desktop system as well as sending other specified files to the attached device. Since many Windows CE applications have corresponding desktop applications, this install builder takes the sting out of installing both.
CE Limitations The memory and storage models merge, as your storage is your memory. Programs don't load per sethey're simply executed directly from the memory that they're stored in. On the lowest level, your programs and their data are all held in an object store, which is held in RAM. Ancillary storage consists mostly of Compact Flash cards. The storage model is noticeable: For instance, there are no File I/O commands in VB. Instead, all file access is done through the File System ActiveX component. And while CE itself is based on Unicode, the Active X can read Unicode, but not write it. Fortunately, you can overcome that limitation by dropping down to the API itself.
A Welcome Change Microsoft has planned for the future, too. Once the Visual Studio .NET product ships, Microsoft will offer a version of C# for the CE devices. Similarly, Microsoft will offer an SDK for the new Pocket PC 2002 operating system. Both will snap into the Embedded Visual Tools IDE.
|
|
||||||||||||||||||||||||||||||||||||
|
|