1

I have built and deployed Dvorak SIP sample from C:\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CPP\ATL\dvoraksip location. The sample successfully deploys and registers and when I click on Dvorak from the SIP icon at the middle of the tray it is opened in Windows Mobile 5 emulator and some other devices except Pidion BIP-1300-GSM which is running Windows Mobile 5.0.

What is the reason?

I should mention that it is always deployed and registered successfully.

UPDATE

I put DebugMessage in all of the methods.

When I Deploy Dvorak, methods in dvoraksip.cpp are called on device like what happens on Emulator.

When I click the icon in tray in Emulator methods in dvorak_implementation.cpp are called correctly but nothing is called on Pidion device.

Bob
  • 22,810
  • 38
  • 143
  • 225
  • To find out the cause you should add some DEBUGMSG to the code and watch the debugger when you run the Dvorak SIP DLL. – josef Jan 22 '13 at 09:17
  • Is the pidion running windows mobile 5 or CE 5? – josef Jan 22 '13 at 18:05
  • @josef It is running Windows Mobile 5.0 – Bob Jan 23 '13 at 05:46
  • I assume the SIP did not register correctly. When you deployed the SIP (a DLL) to Windows dir! you need to register it. After registration you should reboot.Ensure the UID is unique. – josef Jan 23 '13 at 07:17
  • @josef I have registered it. I checked the registry. The registry values are same in Device and Emulator. But keyboard is shown in Emulator and is not shown in Device. – Bob Jan 23 '13 at 07:26
  • To better understand what is not working with this ATL sample code which creates a DLL I would write a tester app that loads the DLL and calls the exported functions like IInputMethod::GetImData, IInputMethod::SetImData, IInputMethod::UserOptionsDlg . If you are looking for writing a custom SIP you can use Richard Boling's SIP example (http://www.microsoft.com/mspress/books/sampchap/5461b.aspx) that does not use ATL. BTW: is the VC runtime installed on the device? You will find, when you try to load the DLL in a test app. – josef Jan 29 '13 at 05:29

1 Answers1

1

I don know what possibly went wrong on your side. There are some pitfalls when using this WM653 sample on Windows Mobile 5. When you switch to WM5 in VS8 configuration manager, the deployment settings have to been adjusted:

deploy settings for DVORAK SIP

Do you have WM5 SDK installed within VS2008 too?

In VS8 ensure that you link ATL statically: ATL static linked

Here is my updated VS2008 project/solution of DVORAK SIP sample using WM5 SDK: http://www.hjgode.de/temp/dvoraksipVS2008_WM5SDK.zip

I tested that on a WM5 device (no Pidion, an Intermec CK60 running WM5): Dvorak SIP on WM5 device screen

I have seen that you posted the same question at social.msdn and who knows where too. If the pidion still does not work like a WM5 device, you should consider changing the model.

As an alternative you may use Richard Boling's NumPanel example of a SIP.

Richard Boling Nummeric Keypad SIP example

Here is the VS8 solution for WM5SDK: http://www.hjgode.de/temp/BolingNumPanel.zip

josef
  • 5,951
  • 1
  • 13
  • 24
  • I followed your instructions and nothing changed :( – Bob Feb 02 '13 at 09:57
  • Is the problem related to CLSID? in the sample it is `{42429695-AE04-11D0-A4F8-00AA00A749B9}` – Bob Feb 02 '13 at 10:26
  • The CLSID or GUID has to be unique. You can create your own, new GUID using VS tools. Does the NumPanel show on the pidion? – josef Feb 03 '13 at 07:04
  • I tested your sample. It is shown in both emulator 5 and 6 but is not shown in my device. Pidion does not show Dvorak, Your keypad and my custom keyboard :( – Bob Feb 04 '13 at 06:51