.NET Compact Framework and the Smart Device Programming Features of VS.NET

Posted June 20, 2003

Chat Date: May 27, 2003

Please note: Portions of this transcript have been edited for clarity

Chat Participants:

  • Chris Tacke (MVP): CE Product Manager for Applied Data Systems
  • Peter Foot (MVP): Founder of InTheHand
  • Ginny Caughey MVP): Carolina Software
  • Alex Feinman (MVP), Lead Software Engineer with Corrigo Inc.
  • Kevin Boske (Microsoft), Software Test Engineer for the SQL Server CE team
  • Michael Fosmire (Microsoft): Community Program Manager

Moderator: Mike (Microsoft)
Welcome to today's MVP-hosted .NET Compact Framework and the Smart Device Programming features of VS.NET chat! Questions, comments, and suggestions are welcome. Let’s introduce our hosts for today.

Host: Chris (MVP)
Hello, I'm Chris Tacke, CE Product Manager for Applied Data Systems and an OpenNETCF.org Advisory Board Member

Host: Peter (MVP)
Hi, I'm Peter Foot, founder of InTheHand, a UK company which produces software for handhelds with a focus on information retrieval and fieldwork.

Host: Ginny (MVP)
Hi, I'm Ginny Caughey. I direct development for a software company that provides mobile solutions as part of our vertical market products.

Host: Kevin (Microsoft)
Hi, I'm Kevin Boske, I'm a software test engineer for the SQL Server CE team. I test replication, RDA and the .NET CF components of SQL CE.

Host: Alex (MVP)
Hello, I'm Alex Feinman, Lead Software Engineer with Corrigo Inc and OpenNETCF board advisory member

Moderator: Mike (Microsoft)
Welcome everyone, let’s get started!

Host: Chris (MVP)
Q: When will we get a managed interface for GAPI?

A: Since GAPI is PocketPC specific, and to the best of my knowledge is being replaced by D3D in PPC03, I wouldn't expect to see a managed GAPI class.

Host: Ginny (MVP)
Q: So are you guys the ones behind the opennetcf site?

A: All the Compact Framework MVPs are working on that project.

Host: Chris (MVP)
Q: So what is D3D and can I assume it will have a managed interface?

A: D3D is Direct3D. I've not heard if a managed wrapper will be provided or not.

Host: Ginny (MVP)
Q: What about .NET CF support on Smartphone?

A: Future versions of Smartphones will have .NetCF support.

Moderator: Mike (Microsoft)
Q: Hi, I have a simple .Net Smart Device app which has been deployed to my Compaq PDA in the past. After using my emulator I now cannot deploy the app to my PDA, any ideas?

A: These questions can be difficult without some troubleshooting. I'd probably suggest taking a peek at the newsgroup archives for similar issues to see how they were resolved (https://www.google.com). Otherwise, I'd probably suggest checking with our support folks. https://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Host: Kevin (Microsoft)
Q: When will the next version of SQL CE be released and what new features do you plan on implementing?

A: We are hard at work on the next version of SQL CE. As you may be aware, we do not discuss release dates or feature sets publicly before a release. I can say however, that we have received a lot of feedback from customers regarding features and we are incorporating many of them. I think it will be a very exciting release for mobile data developers.

Host: Chris (MVP)
Q: What do you suggest is the best way to attached USB devices in .NET CF?

A: USB covers a wide array of devices. Most CE PDAs don't support function devices like keyboards and mice. For those that do, a driver must be done in C, and any managed access would be provided by the driver OEM.

Host: Alex (MVP)
Q: Is there any chance of having an article or whitepaper done on using RAS in compact framework? It seems to give everyone a very hard time.

A: Check the CF newsgroup - Alex Yakhnin (eMVP) has recently announced a beta for the RAS.NET component. He can be contacted at a.yakhnin@att.net

Host: Peter (MVP)
Q: Are the eMbedded Visual Tools going to be discontinued, leaving VS.NET 2k3 the only way to write for SmartDevices?

A: eMbedded Visual tools (eVC++ in particular) are still required for writing native code such as drivers and other functionality not possible with the .NET Compact Framework directly.

Moderator: Mike (Microsoft)
Q: Are the eMbedded Visual Tools going to be discontinued, leaving VS.NET 2k3 the only way to write for SmartDevices?

A: There have been no official announcements made, but support for native C++ development will continue. For eVB folks, we do recommend migration to Visual Studio .NET 2003.

Host: Chris (MVP)
Q: Hello, Can I assume that I will get access to the four function buttons on my IPAQ in CF. I don't think I can with current release

A: Take a look at the OpenNETCF forums topic here: https://www.opennetcf.org/Forums/topic.asp?TOPIC\_ID=283

Host: Alex (MVP)
Q: Is it possible to write my own IE plugin using .NetCF?

A: I don't believe Pocket IE supports plug-ins but even if it did, CF does not support creating/invoking COM objects

Moderator: Mike (Microsoft)
Q: Why is ActiveSync so flaky?

A: We're aware of the fact that troubleshooting ActiveSync problems can be difficult. Things should improve in this regard in the future.

Host: Chris (MVP)
Q: Is there a way to have a custom component have a design-time property called about that would show an about box when click on in the IDE? This one stumped me.

A: You will need to generate a custom property page and display it. I don't have a link offhand, but both MSDN and codeproject.com should have examples on this.

Host: Alex (MVP)
Q: Does anyone have any idea what actual values SPI_GETOEMINFO and SPI_GETPLATFORMTYPE are, so that I can use them in the unmanaged function 'SystemParametersInfo'?

A: 258 and 257

Host: Chris (MVP)
A: In addition to Alex's post - if you're looking for the value to a constant, they are all defined in the SDK headers, so if you install an SDK, you can search for the value you want.

Host: Chris (MVP)
Q: When PPC2003 is released, is it recommended for EVC programmers to move from EVC3 to EVC4 (or whatever the current release is at that time)?

A: PPC03 is based on CE 4.2, so you'll need to use eVC 4.0.

Host: Peter (MVP)
Q: Will PPC2003 work on current PPC2002 devices as an upgrade?

A: Its up to individual OEMs to provide an upgrade, as yet no announcements have been made.

Host: Chris (MVP)
Q: How are we expected to upgrade to PPC2003? It’s ROM after all?

A: Many devices use flash RAM which can be overwritten using an OEM utility. A good example is the upgrade process from PPC 2000 to PPC2002 on devices like the iPAQ.

Host: Chris (MVP)
Q: How does one write a version of their custom Compact Framework control that will work on the emulator?

A: Since CF assemblies are not processor dependent, the control that you use for the device is the exact same assembly as for the emulator.

Host: Alex (MVP)
Q: How can I record wav in VB2003_CF ?

A: Take a look at https://www.opennetcf.org/forums/topic.asp?TOPIC\_ID=160. Also, consider the OpenNETCF.WinAPI library which has wrappers for low-level wave APIs

Moderator: Mike (Microsoft)
Q: Could someone explain a quick way to get the name of the currently executing method programmatically using the .net compact framework?

A: Based on our MVPs' experiences, the answer appears to be that you can't do this. I'll try to get one of the Compact Framework product group folks to follow up on this and post to the newsgroup.

Host: Chris (MVP)
Q: What do I have to do to be able to use Pocket_Access with the PDA emulator when testing an application?

A: Using Pocket Access with the emulator is the same as with a device. There are no providers from Microsoft for it, but there is a good one available from https://www.inthehand.com

Host: Peter (MVP)
Q: For recording wav, it says it can only be done in C#, since it is written using unsafe code...is there a workaround so we can directly write in VB? Thanks

A: You can compile the C# library, then add it as a reference to your project and control it from VB.

Moderator: Mike (Microsoft)
Q: Will mixed mode debugging be supported in future VS versions?

A: The folks hosting this chat aren't really able to respond to this question. It would really require a response from the product group directly.

Host: Ginny (MVP)
Q: I have problems with file path names, are then absolute or relative in loading image files plus it’s not clear how to copy files into the emulator.

A: There is no "current directory" in CE, so all paths are absolute and files copied to the emulator by adding to the project will be copied to the EXE directory. The easiest way to copy files to the emulator is to add the files to your project, then set the Build Action property to Content.

Host: Alex (MVP)
Q: Is it possible to alternate row colors in a Listview control with the Compact Framework without having use eVC?

A: Unfortunately it is not possible

Host: Kevin (Microsoft)
Q: Are there any plans in the works for a tool that will allow developers to create a SQL CE database completely on the PC side without the aid of a pocket pc?

A: We have no announcements currently regarding the next version timeframe or feature set. Again, I think the next release will be very exciting for mobile data developers. :)

Host: Ginny (MVP)
Q: Any suggestions on how to make forms that have no title.

A: Set the form title to "" programmatically in your code.

Host: Kevin (Microsoft)
Q: Any idea on a release time for SQL CE even if it is general? what quarter? year?

A: SQL Server CE 2.0 has been available for download since September of last year. As for the NEXT release, as soon as the feature set and product quality (remember, I test it) is ready. I wish I could tell you more, because we got some pretty cool features.

Moderator: Mike (Microsoft)
Q: I always wondered why there is no MIDI support in PocketPC? Considering the small environment it seems a loss. Are there any possibilities of it being added?

A: Thanks for this question. We can submit this as a suggestion for the NetCF Product Managers. Unfortunately, our hosts today don't know whether this is planned or not.

Host: Chris (MVP)
Q: So why do we have to use emulator or PocketPC every single time we recompile? Won't it be faster if we can just run it directly on the desktop?

A: The desktop cannot provide CE-specific functions, such as P/Invokes to coredll.

Host: Alex (MVP)
Q: But there is no such an option in VS.2003 to run it directly….any workaround?

A: When I was doing such development, I've written a simple macro and assigned it to a button. Post this question in the CF NG and I'll post the macro code

Host: Peter (MVP)
Q: Do you guys know of a sample around that shows how to create the .XML file that VS.NET uses to deploy native code along with a managed wrapper to a device?

A: I built a demo xsl file which shows the structure, I've yet to document it properly but you can download it from https://www.inthehand.com. When I have written up the details it will be posted to www.OpenNETCF.org

Host: Chris (MVP)
Q: With the managed RAS connection code 'a.yakhnin@att.net' is working on, is the connection available to all applications or just from the application that starts the connection. This is a real problem with RAS.

A: This will be limited by RAS, not the CF. You might email Alex or post this question into the forums at opennetcf.org to see if he has an answer.

Host: Chris (MVP)
Q: Did you get your bitmap processing worked out?

A: Alex Feinman put something together on it. Take a look here: https://www.opennetcf.org/Articles/GdiObjects.asp

Host: Ginny (MVP)
Q: When you use xml as a database file...does it have to load the whole xml file to memory to parse, etc.?

A: Yes, the entire file is loaded at once with ReadXml. For large amounts of data, SQL CE might be more appropriate.

Host: Chris (MVP)
Q: So the bitmap process solution is faster than routines in .NET?

A: I've not seen any bechmarking, so I don't know. It would be interesting, and if you take it upon yourself to test them, let us know the results.

Host: Chris (MVP)
Q: Where can I find more info on RAS?

A: MSDN is a good place to start. Also look in eVC Help and ras.h

Host: Alex (MVP)
Q: I'd like to be able to call modules like .class files in Java dynamically!

A: In CF you can load assemblies dynamically and create classes implemented by them

Moderator: Mike (Microsoft)
Q: So I ultimately had to go back to eVC++ --- also does PPC 2003 come with RTC libraries?

A: Thanks for this question. Our hosts today, although filled with immense knowledge and wisdom, aren't going to know the answer to this.

Host: Chris (MVP)
Q: Is there any plan to create two versions of CF? One small like 1 MB other 20MB with full functionality like the on desktop so the end user will have a chance to choose depending on the needs.

A: There are no official announcements, but my understanding is there will be a few. For example, limited resource devices like phones may have an even smaller CF. A substantially larger CF defeats the idea of "compact" and I wouldn't expect to see it, nor would I see a use for it.

Moderator: Mike (Microsoft)
Thanks for joining us today and thanks for the questions. A special **thank you** to all of our hosts today; Chris, Alex, Peter, Ginny and Kevin. It's time for us to go now.

If you have further questions regarding the Compact Framework, please check out:

https://www.opennetcf.org

Top of pageTop of page