[DUG] DLL Forms

Paul A Norman paul.a.norman at gmail.com
Thu Aug 3 17:33:58 NZST 2006


Dear Ross,

Here is an answer that Peter Below made years ago to a simillar question.
Not exactly the same as your description but may help.

Paul
-------

> I have a dll that shows a form. When I show the form using ShowModal, tab> works fine (to go through all the controls). When I just use show (instead
> of showmodal), I lose the ability to use the tab key (I can press tab but
it > never moves to the next control). Am I doing something wrong? Well, you
use a non-modal window in a DLL <g>. The major problem with non-modal
windows is that they depend on the applications message loop for sustenance.
Things like navigation between controls on a modal dialog are implemented in
a typical Windows app by calling the IsDialogMessage API function as part of
the message loop code. But this function requires the handle of the
non-modal dialog, so the apps usually have to make sure that the message
loop code can always get at the window handle of the currently active
nonmodal dialog (this can get grossly complex and always requires active
participation of the dialog). This scheme has no chance of working if the
dialog in question is not even part of the application and even less if it's
not even a dialog but a Delphi form. Peter Below (TeamB)
100113.1101 at compuserve.com) No replies in private e-mail, please, unless
explicitly requested!


On 30/07/06, Ross Levis <ross at stationplaylist.com> wrote:
>
> I've got a more serious problem I hope someone can help me with.
>
> I'm loading some 3rd party C++ DLL's from my Delphi app.  Most of these
> DLL's have a configuration form.
>
> Some blind users have just pointed out that the tab key is not working
> in the DLL forms.  This is a major problem for blind users who reply on
> it for navigation.  All other keys including the arrow keys appear to
> work fine.
>
> Other applications that load the same DLL's do not have this problem.
>
> I'm assuming my app is taking over the tab key even when the DLL form
> has the focus.  Is there a simple method to allow get around this?
>
> Many thanks,
> Ross.
>
> _______________________________________________
> Delphi mailing list
> Delphi at ns3.123.co.nz
> http://ns3.123.co.nz/mailman/listinfo/delphi
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ns3.123.co.nz/pipermail/delphi/attachments/20060803/27b45071/attachment.html


More information about the Delphi mailing list