AnsweredAssumed Answered

FileMaker windows don't redraw when a plug-in shows a modal dialog

Question asked by MikhailEdoshin on Feb 24, 2011

Summary

FileMaker windows don't redraw when a plug-in shows a modal dialog

Product

FileMaker Pro

Version

10

Operating system version

Windows XP Home (regularly updated, all service packs)

Description of the issue

In the Windows version a plug-in displays a modal dialog using one of DialogBox() family of functions. The dialog displays, but when I move it, the underlying windows don't redraw. The standard elements (window title, border, scrollbars, toolbar, etc.) do redraw, but the rest of the client area does not, so the dialog leaves a trail.

Steps to reproduce the problem

I've met this with my own plug-in, which is currently in development; somehow other plug-in authors seem to work around this issue (I'm trying to contact these developers, but I haven't received a definite answer yet.) But I noticed the similar behavior with Tony Kargas's Dialog plug-in (http://kargas.net/dialog.html). Open the sample file, go to the last tab that shows standard dialogs and try to display the Select Folder dialog. On my system it erases, but doesn't redraw the underlying FileMaker window. This doesn't happen every time, sometimes it works OK. Other dialogs there seem to work OK all the time.

Expected result

I expect the whole FileMaker window to redraw.

Actual result

Only standard elements redraw, the FileMaker client area does not.

Exact text of any error message(s) that appear

None.

Configuration information

My own plug-in is a somewhat unusual mix of technologies; it embeds Python and calls windows API functions using a foreign function interface library (ctypes). I don't use MFC; I suspect this can be the problem.

Workaround

I haven't found an workaround so far, but it seems other developers did found it, because their plug-ins work OK. I'm trying to contact them too, but haven't received any answer yet. I don't think this is a real 'bug', but I don't understand what am I overlooking; I'd really appreciate some advice.

Outcomes