Mark Michaelis' Weblog :
Updated: 9/1/2004; 6:56:29 AM.

 








Subscribe to "Mark Michaelis' Weblog" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.

Subscribe To
Mark's Weblog

 
 

Tuesday, February 04, 2003

Playing with the .NET Compact Framework
Google Search It

This week I am taking a Compact Framework class with Developmentor trainer Jim Wilson.  Here are some notes from the class:

Issues and Complaints

  • NUnit doesn't work
  • There is no precompile constant so that you can #if out portions of desktop code.
  • Even though System.Windows.Forms.Control has an OnPaint() (along with several other On<X> events) many controls derived from System.Windows.Forms.Control (such as System.Windows.Forms.Label) do not get notified of Paint events.  Therefore, if you derrive a control from System.Windows.Forms.Label for example, you cannot do owner draw because there is not paint event.
  • Although both the ExecuteReader and ExecuteScalor exist, ExecuteScalar is no faster.  It simply provides a convenience for retrieving a single value.
  • P/Invoke is a nightmare:
    • The maximum size of any data type is 32 bits (4 bytes).  So you cannot have pass-by-value with anything larger.
    • There is no COM interop layer so to access COM classes you need to export functions that call in to you COM classes and return the results.

Classes not supported in the Compact Framework

  • System.SerializableAttribute and assistents such as System.Runtim.Serialization.SerializationInfo and System.Runtim.Serialization.StreamingContext.
  • System.Diagnostics.StackTrace which means that the System.Exception.StackTrace property doesn't exist either.
  • The StringBuilder.AppendFormat() function is not available.

Questions

  1. If I create a class library and I want to test it using an external exe (changing the debug settings to Program and then specifying the program).  Unfortunately, this doesn't seem to be supported?
  2. How do I copy to the device using the command line?
  3. Assuming that the same assembly can be deployed to both the desktop and the handheld, how does one create an assembly that depends on a device specific assembly.
  4. How the heck does one deploy a DLL and the run or debug an executable that uses the DLL?  The debug program option doesn't appear to work.

11:44:42 AM   []    comment []

© Copyright 2004 Mark Michaelis.



 


February 2003
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28  
Jan   Mar


Recent Posts