ControlExDesktop compilation error

Discussion in 'Questions (Windows Mobile)' started by derez, Apr 6, 2009.

  1. derez

    derez Expert Licensed User

    Hi
    I'm using ControlExDesktop and ControlExDevice in a program, with a monthcaledar object.
    The program runs on the desktop IDE and the device IDE , compiles for the desktop but does not agree to compile for the device.

    I have both dll and cs files in the b4ppc library and the working directory, the desktopp has .net 2.0

    Using the toolstrip I see that the desktop dll version is 1.4, but I use the zip file with version 1.6 :confused:

    I get the attached error.

    Can someone tell me what is missing ?

    thanks
     
  2. agraham

    agraham Expert Licensed User

    You can't use ControlsExDesktop and ControlsExDevice together in one project as they are not compatible with each other. A ControlsExDeviceDummy library is provided for desktop use with ControlsExDevice although "Dummy" is a bad term as, apart from the Notification object which can't be implemented on the desktop, it is fully functional.

    A device project needs ControlsExDevice for the device and ControlsExDeviceDummy for the desktop. This will compile for both device and desktop.

    A desktop project needs nothing for the device and ControlsExDesktop for the desktop. This will only compile for the desktop.
     
  3. derez

    derez Expert Licensed User

    Thanks for the clear answer Andrew.

    Where can I find the dummies ? they are not included in the dll lists.
     
  4. agraham

    agraham Expert Licensed User

    I assume that you mean "dummmy" singular. There is no device dummy for ControlsExDesktop as it isn't necessary. ControlsExDeviceDummy, and it's source code, is in the http://www.basic4ppc.com/forum/additional-libraries/1995-controlsexdevice-library.html#post10811 archive.

    There are two reasons a compatible desktop "dummy" library is required for a device targeted library. Firstly it means that code can be developed and run in the IDE on the desktop even if the library is not fully functional. Secondly the optimising compiler assumes that the desktop and device libraries are identical in structure and uses the desktop library during compilation, even when the compiling is targeting the device. In the rare case where there might not be a compatible desktop library for a library that will only work on the device that library can be added as a desktop component. It will not let code run on the desktop but will let the optimising compiler successfully compile for the device.
     
  5. derez

    derez Expert Licensed User

    Thanks, it works now :)
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice