Welcome to Soft32 Forums!
FAQFAQ    SearchSearch      ProfileProfile    Private MessagesPrivate Messages   Log inLog in

Why do Custom Input Methods (SIP) refuse to work ?

 
   Soft32 Home -> PDA -> Pocket PC Developer RSS
Next:  unicode cab?  
Author Message
jo.el

External


Since: May 01, 2007
Posts: 1



(Msg. 1) Posted: Tue May 01, 2007 8:04 am
Post subject: Why do Custom Input Methods (SIP) refuse to work ?
Archived from groups: microsoft>public>pocketpc>developer (more info?)

Hi,

Summary: Under certain conditions Custom Input Methods (IM) do not start. I
want to understand the mechanism, I develop an IM.

For a full description and the discussion, see below.

After an unsuccessfull attempt in microsoft.public.windowsce.embedded.vc I
was advised to post

this in a more general PocketPC news group. It seems that the problem lies
within the CE

Operating System but I would be glad to be proved wrong about that.

I also develop an IM, one test I did seems quite interesting: I added
messageboxes in all

constructors and functions. Non of them were triggered when the IM was
selected. ( DllMain

included ).

I am aware that there are quite some discussions about this topic from PPC
users in different

newsgroups, but I never found any cause or solution for the problem on a
programming level.

--- Original Post ------
http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public....dowsce.

76fb698-ee95-47cf-b94a-3ce17a436d34&p=1

Hello All,

I am developing an Input Method (IM) for PocketPC / Windows Mobile (PPC/WM).
On some devices the IM will not start. The IM appears in the IM-List but
when it is
selected from the list athe result is that the standard (QWERTY) keyboard
appears.

I found that many ( all?) ISV's who make IM's have customers reporting this
problem. My research

on the internet brought me to the conclusion it is some resource related
problem within the

Operating System. However I did not find any statement from Microsoft which
confirmed this.

Some Solutions were provided by ISV's and their customers, but they usually
did not work for

everybody. For example someone could solve it by starting the IM before
starting the Today

Screen, others could fix it by some tweaks which disabled other programs. (
for example:

http://blogs.msdn.com/windowsmobile/archive/2005/02/10/370355.aspx)

--

So my questions would be:
Is it known what causes this problem?
Is it really a OS related problem, or is it more likely that the problem is
somewhere in my code?

If it is an OS related problem:
- Is there a programming workaround ? ( like, if it is a resource related
problem, keeping the

dll size small, (not) using dynamic memory etc.. )
- Will this problem be solved in WM 6 ?( GWES now in kernel )

--

Additional information to my situation:

* I used the example in Programming Microsoft® Windows® CE, Second Edition ,
from Douglas Boling

, http://www.microsoft.com/mspress/books/sampchap/5461b.aspx#108 as a
starting point for my

application.

* An IM is implemented as an COM in proc Server. So maybe developers who
develop this kind of

Software ( for WM ) can help me as well.

* Fortunately I could reproduce the problem. I added a MessageBox in the
DllMain function. The

MessageBox did not appear! Conclusion, the dll is not loaded at all ! (?)

* On the Device where I can reproduce the problem the IM will start when no
other program is

active. When Word or SMS is open, the problem appears. Then I make a Soft
Reset, go to the

Settings where the Soft Input Method (SIP) icon allows me to select an IM.

* Dll size is approx 350 KB

* The problem persisted from eVC 3 upto VS 2005, independent for what
platform I build. For

example in VS2005 I targeted WM 2003( ARMV4). The Problem is reported from
both WM 2003 as WM5

Users.

--

Thanks,

Joël


>>>>>>>>>>>>>>>>>>>>>>
Paul G. Tobey [eMVP]" wrote:
Sounds to me like you didn't generate a GUID unique to your SIP or
something...

Paul T.

>>>>>>>>>>>>>>>>>>>>>>
jo.el wrote:

Hello Paul,

I used guidgen.exe to generate the GUID so the chances would be really
quite small. So ... it must be something else.

>>>>>>>>>>>>>>>>>>>>>>
Paul G. Tobey [eMVP]" wrote:

You did a soft reset after installing your new SIP on the device, right? I
can't think of anything else that would explain normal behavior of the
standard SIP and abnormal behavior of yours.

Paul T.
>>>>>>>>>>>>>>>>>>>>>>
jo.el wrote:

Hello Paul,

I never actually tried that, so I did. Unfortunately the result is the same
as before: I can use the IM, but only under 'the right conditions', in my
case not starting any program before selecting the IM ( as I described in my
original question )

How would a Soft reset after an installation improve the "reliability" of a
software ?

Anyway. This Problem does not only occur with my IM, but with many ( all ? )
ISV IM's ! ( see the link I pasted in my question ). That is why I thought
the problem could be some memory restrainment and want to know
- this is a known problem at MS or if this is definitely not an OS
error/retraint.
- if it is a known Problem, if there are any design recommendations to avoid
it.

Thanks for your help. It is an Issue which is quite important to me and I
guess to the other ISV's who make Custom Input Methods as well. If you would
know anyone at MS with the competence to look into this issue I would be
gratefull if you could foreward this problem.

Joël
>>>>>>>>>>>>>>>>>>>>>>
Paul G. Tobey [eMVP]" wrote:

No, not to improve reliability, but it's quite possible that the act of
installing a new SIP doesn't cause the SIP driver to know about it. Most
drivers like that don't continuously monitor the registry looking for new
entries!

There's nothing that I've ever heard of. Certainly Windows CE 4.x and 5.0
themselves don't suffer from this problem on my devices. If it were me, I'd
try this on a generic Windows CE platform, but you may not be able to do
that. I guess that you might try the emulator. Is the SIP signed?

Paul T.

>>>>>>>>>>>>>>>>>>>>>>
jo.el wrote:

Hello Paul,

I greatly appreciate your input, and I hope this discussion will also be
valuable for other ISV's who make Input Methods and most of all I hope to get
some detailed description of the processes which cause this problem. Then I
can change the design or installation methods to get it to work with
(practically) all users.

As to your question: The Input Method is not signed. This could explain the
problem on some devices, where it does not start at all. But it would not
explain the problem on those devices where it runs depending on the
configuration, or on which programs are active.

I will quote some problems from the blog I mentionned in my question:
http://blogs.msdn.com/windowsmobile/archive/2005/02/10/370355.aspx


------------------------------------------

emerym said:

Hi,

I did more testing after the TenGO free SIP failed to load after a soft
reset. I've found that if I use all custom SIP's BEFORE getting to the Today
Screen they'll work. As I have a password enabled on the PDA this is quick
and easy to do. Can any Microsoft people comment? It sounds like some SIP
have a problem loading their DLL after today screen is loaded.

Mark
# April 13, 2007 6:36 PM
emerym said:

I hope this is my last entry! After getting both SIPs working by using them
at the password prompt I found that my Softick Card Export II wouldn't load.
If I didn't fix the SIPs it would. So it does look like there's a resource
starvation issue. I removed the battery and comms mgr icons from the Task
Tray as per http://wiki.xda-developers.com/index.php?pagename=Hermes_Registry
as I don't use them and can now get all three working fine.

MS is there a resource that can be monitored? This reminds me of the system
(GDI) resource drainage in Win98.
# April 14, 2007 11:24 AM


There are also other quotes there like:


Justin said:
I just got my lovely new T-Mobile MDA Vario (aka HTC Wizard) a few weeks
ago, moving myself out of the land of WM 2003 into WM 5. So far, it is a
welcome improvement, except...

I can't get ANY 3rd party SIPs to work on this thing! They install, and
they appear on the SIP menu (although that menu takes FOREVER to display).
However, as soon as I select a SIP I've installed, it will not work, but
simply reverts to the default keyboard SIP.

Clearly something on the device is messed up, as it has been doing this
since the day I got it.

Did a DLL or registry setting get corrupted? What gives?
# March 24, 2006 3:05 AM

And on which supports your Soft reset solution:


Suzuki said:
I was able to try out a bunch of third-party SIPs on my HTC Wizard (Cingular
8125). However, the input menu slowed waaay down as soon as I started loading
these things. Other users with HTC Wizard devices report similar problems, as
on the Resco Keyboard Pro forum. However, my problems were caused by other
programs, and Resco KP didn't make them any worse. I am a little suspicious
of the HTC Phone Pad Input SIP, which is probably common to all HTC
Wizards....

Most alternative SIP's load without much trouble--after a few resets,
they're usually good to go. ...
# April 19, 2006 2:38 AM

------------------------------------------

So far for the quotes of this blog. There are several other forum
dicussions on this problem.

As to the last quote: ... a few soft resets ... that is not exactly a
customer friendly solution.

Most Workarounds I found in forums are ( a combination of )
- removing other IM's from the registry
- removing programs ( I assume such wich use dll drivers )
- setting a Custom IM as a default ( before AKU2 )
- using a tool which uses the autostart to select the custom IM

I also have offered users the last workaround ( as it is the safest) which
worked for many of my users with this problem, but not for all.

Maybe it is good to mention that the big majority of my users of (my) IM
have no problems, but this is not good enough.

It would be quite interesting to know if there is any ISV Custom Input
Method which does not have this problem.

Thanks for any help.

>>>>>>>>>>>>>>>>>>>>>>
Paul G. Tobey [eMVP]" wrote:

So it does completely work on some devices, right? That's definitely hard
to explain...

Paul T.
>>>>>>>>>>>>>>>>>>>>>>
jo.el wrote:

Yep... it is a tough one... would you know where I could post this problem
more close to the MS techies?

My best guess still is that it is some resource related problem, if that is
the case it would be handy to know which factors play together, or as in this
case, against eachother.
The other possible cause could be an installation / registration problem.
But in such a way that the registration gets broken occasionally/permanently.
Maybe it is also a mix of problems.

Thanks,

>>>>>>>>>>>>>>>>>>>>>>
Paul G. Tobey [eMVP]" wrote:

There's no support channel for posts. Some MS guys read here, but it's not
an official channel. Try one of the groups in the microsoft.public.pocketpc
tree.

Paul T.

>>>>>>>>>>>>>>>>>>>>>>
Back to top
Login to vote
John Lim

External


Since: Sep 18, 2009
Posts: 6



(Msg. 2) Posted: Fri Sep 18, 2009 10:24 pm
Post subject: SIP example from Programming Windows CE [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Hi Jo1e,

This might sound to be a stupid question but how did you "install" the SIP exampe in Doug Boling's book into your WinCE device?

Thanks.

Regards,
John



Posted as a reply to:

Why do Custom Input Methods (SIP) refuse to work ?

Hi,

Summary: Under certain conditions Custom Input Methods (IM) do not start. I
want to understand the mechanism, I develop an IM.

For a full description and the discussion, see below.

After an unsuccessfull attempt in microsoft.public.windowsce.embedded.vc I
was advised to post

this in a more general PocketPC news group. It seems that the problem lies
within the CE

Operating System but I would be glad to be proved wrong about that.

I also develop an IM, one test I did seems quite interesting: I added
messageboxes in all

constructors and functions. Non of them were triggered when the IM was
selected. ( DllMain

included ).

I am aware that there are quite some discussions about this topic from PPC
users in different

newsgroups, but I never found any cause or solution for the problem on a
programming level.

--- Original Post ------
http://msdn.microsoft.com/newsgroups/default.aspx?dg=microsoft.public....dowsce.

76fb698-ee95-47cf-b94a-3ce17a436d34&p=1

Hello All,

I am developing an Input Method (IM) for PocketPC / Windows Mobile (PPC/WM).
On some devices the IM will not start. The IM appears in the IM-List but
when it is
selected from the list athe result is that the standard (QWERTY) keyboard
appears.

I found that many ( all?) ISV's who make IM's have customers reporting this
problem. My research

on the internet brought me to the conclusion it is some resource related
problem within the

Operating System. However I did not find any statement from Microsoft which
confirmed this.

Some Solutions were provided by ISV's and their customers, but they usually
did not work for

everybody. For example someone could solve it by starting the IM before
starting the Today

Screen, others could fix it by some tweaks which disabled other programs. (
for example:

http://blogs.msdn.com/windowsmobile/archive/2005/02/10/370355.aspx)

--

So my questions would be:
Is it known what causes this problem?
Is it really a OS related problem, or is it more likely that the problem is
somewhere in my code?

If it is an OS related problem:
- Is there a programming workaround ? ( like, if it is a resource related
problem, keeping the

dll size small, (not) using dynamic memory etc.. )
- Will this problem be solved in WM 6 ?( GWES now in kernel )

--

Additional information to my situation:

* I used the example in Programming Microsoft?? Windows?? CE, Second Edition ,
from Douglas Boling

, http://www.microsoft.com/mspress/books/sampchap/5461b.aspx#108 as a
starting point for my

application.

* An IM is implemented as an COM in proc Server. So maybe developers who
develop this kind of

Software ( for WM ) can help me as well.

* Fortunately I could reproduce the problem. I added a MessageBox in the
DllMain function. The

MessageBox did not appear! Conclusion, the dll is not loaded at all ! (?)

* On the Device where I can reproduce the problem the IM will start when no
other program is

active. When Word or SMS is open, the problem appears. Then I make a Soft
Reset, go to the

Settings where the Soft Input Method (SIP) icon allows me to select an IM.

* Dll size is approx 350 KB

* The problem persisted from eVC 3 upto VS 2005, independent for what
platform I build. For

example in VS2005 I targeted WM 2003( ARMV4). The Problem is reported from
both WM 2003 as WM5

Users.

--

Thanks,

Jo??l


Paul G. Tobey [eMVP]" wrote:
Sounds to me like you didn't generate a GUID unique to your SIP or
something...

Paul T.

jo.el wrote:

Hello Paul,

I used guidgen.exe to generate the GUID so the chances would be really
quite small. So ... it must be something else.

Paul G. Tobey [eMVP]" wrote:

You did a soft reset after installing your new SIP on the device, right? I
can't think of anything else that would explain normal behavior of the
standard SIP and abnormal behavior of yours.

Paul T.
jo.el wrote:

Hello Paul,

I never actually tried that, so I did. Unfortunately the result is the same
as before: I can use the IM, but only under 'the right conditions', in my
case not starting any program before selecting the IM ( as I described in my
original question )

How would a Soft reset after an installation improve the "reliability" of a
software ?

Anyway. This Problem does not only occur with my IM, but with many ( all ? )
ISV IM's ! ( see the link I pasted in my question ). That is why I thought
the problem could be some memory restrainment and want to know
- this is a known problem at MS or if this is definitely not an OS
error/retraint.
- if it is a known Problem, if there are any design recommendations to avoid
it.

Thanks for your help. It is an Issue which is quite important to me and I
guess to the other ISV's who make Custom Input Methods as well. If you would
know anyone at MS with the competence to look into this issue I would be
gratefull if you could foreward this problem.

Jo??l
Paul G. Tobey [eMVP]" wrote:

No, not to improve reliability, but it's quite possible that the act of
installing a new SIP doesn't cause the SIP driver to know about it. Most
drivers like that don't continuously monitor the registry looking for new
entries!

There's nothing that I've ever heard of. Certainly Windows CE 4.x and 5.0
themselves don't suffer from this problem on my devices. If it were me, I'd
try this on a generic Windows CE platform, but you may not be able to do
that. I guess that you might try the emulator. Is the SIP signed?

Paul T.

jo.el wrote:

Hello Paul,

I greatly appreciate your input, and I hope this discussion will also be
valuable for other ISV's who make Input Methods and most of all I hope to get
some detailed description of the processes which cause this problem. Then I
can change the design or installation methods to get it to work with
(practically) all users.

As to your question: The Input Method is not signed. This could explain the
problem on some devices, where it does not start at all. But it would not
explain the problem on those devices where it runs depending on the
configuration, or on which programs are active.

I will quote some problems from the blog I mentionned in my question:
http://blogs.msdn.com/windowsmobile/archive/2005/02/10/370355.aspx


------------------------------------------

emerym said:

Hi,

I did more testing after the TenGO free SIP failed to load after a soft
reset. I've found that if I use all custom SIP's BEFORE getting to the Today
Screen they'll work. As I have a password enabled on the PDA this is quick
and easy to do. Can any Microsoft people comment? It sounds like some SIP
have a problem loading their DLL after today screen is loaded.

Mark
emerym said:

I hope this is my last entry! After getting both SIPs working by using them
at the password prompt I found that my Softick Card Export II wouldn't load.
If I didn't fix the SIPs it would. So it does look like there's a resource
starvation issue. I removed the battery and comms mgr icons from the Task
Tray as per http://wiki.xda-developers.com/index.php?pagename=Hermes_Registry
as I don't use them and can now get all three working fine.

MS is there a resource that can be monitored? This reminds me of the system
(GDI) resource drainage in Win98.


There are also other quotes there like:


Justin said:
I just got my lovely new T-Mobile MDA Vario (aka HTC Wizard) a few weeks
ago, moving myself out of the land of WM 2003 into WM 5. So far, it is a
welcome improvement, except...

I can't get ANY 3rd party SIPs to work on this thing! They install, and
they appear on the SIP menu (although that menu takes FOREVER to display).
However, as soon as I select a SIP I've installed, it will not work, but
simply reverts to the default keyboard SIP.

Clearly something on the device is messed up, as it has been doing this
since the day I got it.

Did a DLL or registry setting get corrupted? What gives?

And on which supports your Soft reset solution:


Suzuki said:
I was able to try out a bunch of third-party SIPs on my HTC Wizard (Cingular
8125). However, the input menu slowed waaay down as soon as I started loading
these things. Other users with HTC Wizard devices report similar problems, as
on the Resco Keyboard Pro forum. However, my problems were caused by other
programs, and Resco KP didn't make them any worse. I am a little suspicious
of the HTC Phone Pad Input SIP, which is probably common to all HTC
Wizards....

Most alternative SIP's load without much trouble--after a few resets,
they're usually good to go. ...

------------------------------------------

So far for the quotes of this blog. There are several other forum
dicussions on this problem.

As to the last quote: ... a few soft resets ... that is not exactly a
customer friendly solution.

Most Workarounds I found in forums are ( a combination of )
- removing other IM's from the registry
- removing programs ( I assume such wich use dll drivers )
- setting a Custom IM as a default ( before AKU2 )
- using a tool which uses the autostart to select the custom IM

I also have offered users the last workaround ( as it is the safest) which
worked for many of my users with this problem, but not for all.

Maybe it is good to mention that the big majority of my users of (my) IM
have no problems, but this is not good enough.

It would be quite interesting to know if there is any ISV Custom Input
Method which does not have this problem.

Thanks for any help.

Paul G. Tobey [eMVP]" wrote:

So it does completely work on some devices, right? That's definitely hard
to explain...

Paul T.
jo.el wrote:

Yep... it is a tough one... would you know where I could post this problem
more close to the MS techies?

My best guess still is that it is some resource related problem, if that is
the case it would be handy to know which factors play together, or as in this
case, against eachother.
The other possible cause could be an installation / registration problem.
But in such a way that the registration gets broken occasionally/permanently.
Maybe it is also a mix of problems.

Thanks,

Paul G. Tobey [eMVP]" wrote:

There's no support channel for posts. Some MS guys read here, but it's not
an official channel. Try one of the groups in the microsoft.public.pocketpc
tree.

Paul T.

EggHeadCafe - Software Developer Portal of Choice
WCF Workflow Services Using External Data Exchange
http://www.eggheadcafe.com/tutorials/aspnet/3d49fa0d-a120-4977-842a-6d...17b6d74
Back to top
Login to vote
Christopher Fairbairn [MV

External


Since: Nov 05, 2008
Posts: 18



(Msg. 3) Posted: Mon Sep 21, 2009 5:20 am
Post subject: Re: SIP example from Programming Windows CE [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Hi John,

<John Lim> wrote in message news:200991912437john.lim@pciltd.com.sg...
> This might sound to be a stupid question but how did you "install" the SIP
> exampe in Doug Boling's book into your WinCE device?

There are a couple of ways to do this depending upon which way suits your
development work flow the best.

One way is to deploy the SIP input method via a CAB file. Within the CAB
file you can mark the DLL as needing to be registered with COM. This will
cause the installer to load the DLL during installation and invoke its
DllRegisterServer function in order to allow it to configure itself.

If you debug/deploy via Visual Studio you can also go into the Project
Properties dialog and look for a "Register output" option within the
Deployment section. Turning this on will cause Visual Studio to perform the
same task when it deploys your DLL to the device.

Taking a look at Doug Boling's example Input Method you will notice a
DllRegisterServer function within IMCommon.cpp that is reponsible for
performing the tasks required to register the IM with the OS.

Hope this helps,
Christopher Fairbairn
Back to top
Login to vote
John Lim

External


Since: Sep 18, 2009
Posts: 6



(Msg. 4) Posted: Tue Sep 29, 2009 8:07 pm
Post subject: SIP example from Programming Windows CE [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Hi Christopher,

Thank you very much. The "Register output" option in VS2005 did the trick! Now that I can get it working properly, I can dig deeper into the code to see how it all works!

Thanks once again! Smile

Regards,
John



Christopher Fairbairn [MVP] wrote:

Re: SIP example from Programming Windows CE
21-Sep-09

Hi John,

<John Lim> wrote in message news:200991912437john.lim@pciltd.com.sg...

There are a couple of ways to do this depending upon which way suits your
development work flow the best.

One way is to deploy the SIP input method via a CAB file. Within the CAB
file you can mark the DLL as needing to be registered with COM. This will
cause the installer to load the DLL during installation and invoke its
DllRegisterServer function in order to allow it to configure itself.

If you debug/deploy via Visual Studio you can also go into the Project
Properties dialog and look for a "Register output" option within the
Deployment section. Turning this on will cause Visual Studio to perform the
same task when it deploys your DLL to the device.

Taking a look at Doug Boling's example Input Method you will notice a
DllRegisterServer function within IMCommon.cpp that is reponsible for
performing the tasks required to register the IM with the OS.

Hope this helps,
Christopher Fairbairn

EggHeadCafe - Software Developer Portal of Choice
WPF DataGrid Custom Paging and Sorting
http://www.eggheadcafe.com/tutorials/aspnet/8a2ea78b-f1e3-45b4-93ef-32...802ae17
Back to top
Login to vote
John Lim

External


Since: Sep 18, 2009
Posts: 6



(Msg. 5) Posted: Tue Sep 29, 2009 8:08 pm
Post subject: SIP example from Programming Windows CE [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Hi Christopher,

Thank you very much. The "Register output" option in VS2005 did the trick! Now that I can get it working properly, I can dig deeper into the code to see how it all works!

Thanks once again! Smile

Regards,
John



Christopher Fairbairn [MVP] wrote:

Re: SIP example from Programming Windows CE
21-Sep-09

Hi John,

<John Lim> wrote in message news:200991912437john.lim@pciltd.com.sg...

There are a couple of ways to do this depending upon which way suits your
development work flow the best.

One way is to deploy the SIP input method via a CAB file. Within the CAB
file you can mark the DLL as needing to be registered with COM. This will
cause the installer to load the DLL during installation and invoke its
DllRegisterServer function in order to allow it to configure itself.

If you debug/deploy via Visual Studio you can also go into the Project
Properties dialog and look for a "Register output" option within the
Deployment section. Turning this on will cause Visual Studio to perform the
same task when it deploys your DLL to the device.

Taking a look at Doug Boling's example Input Method you will notice a
DllRegisterServer function within IMCommon.cpp that is reponsible for
performing the tasks required to register the IM with the OS.

Hope this helps,
Christopher Fairbairn

EggHeadCafe - Software Developer Portal of Choice
WPF DataGrid Custom Paging and Sorting
http://www.eggheadcafe.com/tutorials/aspnet/8a2ea78b-f1e3-45b4-93ef-32...802ae17
Back to top
Login to vote
John Lim

External


Since: Sep 18, 2009
Posts: 6



(Msg. 6) Posted: Tue Sep 29, 2009 8:09 pm
Post subject: SIP example from Programming Windows CE [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Hi Christopher,

Thank you very much. The "Register output" option in VS2005 did the trick! Now that I can get it working properly, I can dig deeper into the code to see how it all works!

Thanks once again! Smile

Regards,
John



Christopher Fairbairn [MVP] wrote:

Re: SIP example from Programming Windows CE
21-Sep-09

Hi John,

<John Lim> wrote in message news:200991912437john.lim@pciltd.com.sg...

There are a couple of ways to do this depending upon which way suits your
development work flow the best.

One way is to deploy the SIP input method via a CAB file. Within the CAB
file you can mark the DLL as needing to be registered with COM. This will
cause the installer to load the DLL during installation and invoke its
DllRegisterServer function in order to allow it to configure itself.

If you debug/deploy via Visual Studio you can also go into the Project
Properties dialog and look for a "Register output" option within the
Deployment section. Turning this on will cause Visual Studio to perform the
same task when it deploys your DLL to the device.

Taking a look at Doug Boling's example Input Method you will notice a
DllRegisterServer function within IMCommon.cpp that is reponsible for
performing the tasks required to register the IM with the OS.

Hope this helps,
Christopher Fairbairn

EggHeadCafe - Software Developer Portal of Choice
WPF DataGrid Custom Paging and Sorting
http://www.eggheadcafe.com/tutorials/aspnet/8a2ea78b-f1e3-45b4-93ef-32...802ae17
Back to top
Login to vote
John Lim

External


Since: Sep 18, 2009
Posts: 6



(Msg. 7) Posted: Tue Sep 29, 2009 8:10 pm
Post subject: SIP example from Programming Windows CE [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Hi Christopher,

Thank you very much. The "Register output" option in VS2005 did the trick! Now that I can get it working properly, I can dig deeper into the code to see how it all works!

Thanks once again! Smile

Regards,
John



Christopher Fairbairn [MVP] wrote:

Re: SIP example from Programming Windows CE
21-Sep-09

Hi John,

<John Lim> wrote in message news:200991912437john.lim@pciltd.com.sg...

There are a couple of ways to do this depending upon which way suits your
development work flow the best.

One way is to deploy the SIP input method via a CAB file. Within the CAB
file you can mark the DLL as needing to be registered with COM. This will
cause the installer to load the DLL during installation and invoke its
DllRegisterServer function in order to allow it to configure itself.

If you debug/deploy via Visual Studio you can also go into the Project
Properties dialog and look for a "Register output" option within the
Deployment section. Turning this on will cause Visual Studio to perform the
same task when it deploys your DLL to the device.

Taking a look at Doug Boling's example Input Method you will notice a
DllRegisterServer function within IMCommon.cpp that is reponsible for
performing the tasks required to register the IM with the OS.

Hope this helps,
Christopher Fairbairn

EggHeadCafe - Software Developer Portal of Choice
WPF DataGrid Custom Paging and Sorting
http://www.eggheadcafe.com/tutorials/aspnet/8a2ea78b-f1e3-45b4-93ef-32...802ae17
Back to top
Login to vote
John Lim

External


Since: Sep 18, 2009
Posts: 6



(Msg. 8) Posted: Tue Sep 29, 2009 8:12 pm
Post subject: SIP example from Programming Windows CE [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Hi Christopher,

Thank you very much. The "Register output" option in VS2005 did the trick! Now that I can get it working properly, I can dig deeper into the code to see how it all works!

Thanks once again! Smile

Regards,
John



John Lim wrote:

SIP example from Programming Windows CE
29-Sep-09

Hi Christopher,

Thank you very much. The "Register output" option in VS2005 did the trick! Now that I can get it working properly, I can dig deeper into the code to see how it all works!

Thanks once again! Smile

Regards,
John

EggHeadCafe - Software Developer Portal of Choice
WPF DataGrid Custom Paging and Sorting
http://www.eggheadcafe.com/tutorials/aspnet/8a2ea78b-f1e3-45b4-93ef-32...802ae17
Back to top
Login to vote
John

External


Since: Apr 05, 2006
Posts: 35



(Msg. 9) Posted: Fri Oct 02, 2009 2:36 am
Post subject: Re: SIP example from Programming Windows CE [Login to view extended thread Info.]
Archived from groups: per prev. post (more info?)

Hi Christopher,

Can you please advise how I can debug the SIP (i.e. set break points, step
through the code etc) after having successfully deployed it onto my WinCE
device?

Thank you.

Regards,
John

"Christopher Fairbairn [MVP]" wrote:

> Hi John,
>
> <John Lim> wrote in message news:200991912437john.lim@pciltd.com.sg...
> > This might sound to be a stupid question but how did you "install" the SIP
> > exampe in Doug Boling's book into your WinCE device?
>
> There are a couple of ways to do this depending upon which way suits your
> development work flow the best.
>
> One way is to deploy the SIP input method via a CAB file. Within the CAB
> file you can mark the DLL as needing to be registered with COM. This will
> cause the installer to load the DLL during installation and invoke its
> DllRegisterServer function in order to allow it to configure itself.
>
> If you debug/deploy via Visual Studio you can also go into the Project
> Properties dialog and look for a "Register output" option within the
> Deployment section. Turning this on will cause Visual Studio to perform the
> same task when it deploys your DLL to the device.
>
> Taking a look at Doug Boling's example Input Method you will notice a
> DllRegisterServer function within IMCommon.cpp that is reponsible for
> performing the tasks required to register the IM with the OS.
>
> Hope this helps,
> Christopher Fairbairn
>
>
>
Back to top
Login to vote
Display posts from previous:   
Related Topics:
Problem of Custom Input Method - Hi, I am writing a Custom Input Method from dvoraksip, but there is not part mention about how to get the caret postio...

How do i debug a custom sip/input method on 2003 using evc4 - How do i debug a custom SIP/Input Method dll on pocket pc 2003 using evc4. I just want to know how i can set breakpoint...

Properties/Methods List - I'm using eVB 3.0 and I have a large project in the works. So far I have had no problem with this. But, for some..

RDA Object Methods - I am using VS2003, SQL CE 2.0 and SQL server 2000. I can create the database and table in \My..

How to get at C++ class/methods using GetProcAddress - I've got an evc4.0 C++ program that needs to access functions in a class-library dll. This dll has several different....

Push and Pull methods - Hi all. This is a layout of my situation. I want to D/L to my PDA info from the MSDE server on my desktop. I then..
       Soft32 Home -> PDA -> Pocket PC Developer All times are: Pacific Time (US & Canada) (change)
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You can edit your posts in this forum
You can delete your posts in this forum
You can vote in polls in this forum

Categories:
 Windows
 Linux
 Mac
  PDA


[ Contact us | Terms of Service/Privacy Policy ]