Skip to main content

Past Blast

Featured Products

Windows Mobile Developer Controls
Windows Mobile Developer Controls
Stay in touch using the DEVBUSS RSS feeds.
 

News

Windows Mobile Developer Controls
Sapphire Soltuions

IDSSAPI Part 1 of 3 - A useful set of API wrappers for eVB developers

Written by Robert Levy  [author's bio]  [read 38604 times]
Edited by Derek

Page 1  Page 2  Page 3 

We are told that GetTickCount is a member of IDSSAPI.Core, that it is a function that takes no parameters, returns a value of type Long, and that its purpose is to determine how many milliseconds have passed by since the WinCE started. As you can see, the object browser is a great tool to use in understanding what could otherwise be considered ambiguous.

Rather than include sample projects with this article, I point you towards the IDSS web site which has samples demonstrating most of the features. But I do want to stress the simplicity that IDSSAPI provides.

Want to make your form appear in full-screen? That's just another three lines of code:

Dim IDSSAPIWinHelp As IDSSAPI.WindowHelper
Set IDSSAPIWinHelp = CreateObject("IDSSAPI.WindowHelper")
IDSSAPIWinHelp.MakeFullScreen Me.hWnd

It couldn't be any easier than that! But there are fallbacks - IDSSAPI gives us access to things we were not meant to have access to. And for that reason, it is imperfect. For example, programs such as WisBar remain visible at the top of the screen regardless of what calls you make to IDSSAPI's WindowHelper class. Another error is that while calls to MakeFullScreen succeed (with the above exception) from within the Form_Load event, calls to HideMenu (which is intended to hide the SIP menu at the bottom right corner of the screen) from within Form_Load have no result. To be fair, it should be noted that this is not a flaw in IDSSAPI but rather the same problem developers have been unable to get around even when interacting directly with the WinCE API. Unfortunately, many of these issues will only be discovered on a trial-and-error basis - but I have no doubt that a little bit of creative programming will allow a way around them.

An important thing to note about IDSSAPI is that it isn't free. The $25 price is more than reasonable given the features that it provides and the time it can potentially save for professional developers, but, of course, the recreational developer may not be willing or able to pay for this product. IDSSAPI does a lot - and its good and what it does - but for those people who are discouraged by the price, IDSS has generously posted an extensive listing of sample code that demonstrates how to achieve portions of the IDSSAPI functionality by directly accessing the WinCE API on their website [http://www.innovativedss.com/resource.asp].

This article is the first in a series of three. In the next, we will discuss the process of installing IDSSAPI on your development system as well as the emulator and how to package IDSSAPI for deployment to end users. Finally, we will take a look at a series of example cases where the proper use of IDSSAPI revolutionizes the capabilities of eVB developers. In the mean time, IDSS is continuing to expand their own collection of sample code demonstrating the key features of their product and we encourage you to take a look and begin evaluating whether or not it can suit your own development needs.

The final thing I would like to point out is that the evaluation version of IDSSAPI is for the emulator only (allowing you to create and test programs, but not install them on an actual PocketPC) and certain IDSSAPI functions are inherently incompatible with the emulator such as the Memory class, the SoftReset function, and the PowerOffDevice function. This is certainly something to keep in mind when evaluating IDSSAPI and debugging your code.

Previous Page