Solved

Calling DialogBox() from within a DLL

Posted on 1998-11-23
3
238 Views
Last Modified: 2013-12-03
I am trying to call DialogBox() from within a DLL, every time I do, it gives me a GPF in KRNL386.  If I do the EXACT same DialogBox() call in an EXE, it works fine.  I am using Borland C++ 4.52 and the documentation hints that I should NOT use the MakeProcInstance() call if it is being used in a DLL.  I have tried removing the MakeProcInstance() calls but it still GPF's.  Another kicker is this MUST be written using 16-bit API calls  :(

Any idea's on how to correctly call the DialogBox() function from within a DLL? (the DLL has no window of it's own).
0
Comment
Question by:marlow
  • 2
3 Comments
 
LVL 8

Accepted Solution

by:
Answers2000 earned 200 total points
ID: 1416282
Do not call DialogBox from LibMain under Win16.  It will work if you call it from a custom procedure (DLL entry point)

Code to do dialog boxes in DLLs should be identical IIRC

Incidentally make sure the host app has a message loop.
0
 

Author Comment

by:marlow
ID: 1416283
Need more info...

The DialogBox() function is called from within one of my procedures in my DLL, not from LibMain.  What did you say the code to do dialog boxes in DLL's are identical to?  I did not understand...

Yes, host app has message loop...
0
 
LVL 8

Expert Comment

by:Answers2000
ID: 1416284
Yes the code is identical for the actual dialog box itself, to code for a dialog in an EXE.  This is actual a good way to debug/develop a dialog - as you simply write the code in an EXE and then cut/paste it to your DLL.

The DLL will rely on the main app's message loop

Also with DLL version make sure you use the correct hInst where the resource lies (presumably that of the DLL itself).  

0

Featured Post

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this article, I will show how to use the Ribbon IDs Tool Window to assign the built-in Office icons to a ribbon button.  This tool will help us to find the OfficeImageId that corresponds to our desired built-in Office icon. The tool is part of…
A theme is a collection of property settings that allow you to define the look of pages and controls, and then apply the look consistently across pages in an application. Themes can be made up of a set of elements: skins, style sheets, images, and o…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
This is used to tweak the memory usage for your computer, it is used for servers more so than workstations but just be careful editing registry settings as it may cause irreversible results. I hold no responsibility for anything you do to the regist…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question