|
thanks
But I can't view the methods of interfaces like "IActiveDesktop", the button "View Type Info" is disabled But IActiveDesktop definately has some methods like getwallpaper
|
|
|
|
|
|
I'm writing a multi-threaded FTP searching program under Win 2k. But sometimes I got error message like "memory 'XXXXXXXXX' cannot be 'written'" from WININET.DLL and sometimes I got "Unhandled exception" from NTDLL.DLL when I call SetCurrentDirectory() to get into the child directory. The child directory actually exists, and MSDN said these functions don't throw exceptions! I was completely confused. What cause this error? Could anyone give me some suggestions? Thanks a lot.
Law is meaningless without chaos.
Chaos without Law is equal to destruction.
Chaos and Law create our rich and colorful world.
|
|
|
|
|
With eVC++ Version 3.0 for PocketPC I've tried to export a CDialog-based class and then use it in an application. DoModal() always fails. I have stepped through the DoModal() method and it fails because it cannot find the resource. The only way I have been able to get this to work is to use a wrapper function in the dll then call the wraper function from my application. I've tried several things, such as changing the dialog ID to make sure it is unique. Anyone know of a solution to this problem?
|
|
|
|
|
I have a strange problem.
I use Visual C++ 6.0 and it woks well,
but today, I install the Microsoft Global IME (Japanese) for reading Japanese on my IE5 and Outlook, then My Visual C++ has problem after i use Debug functions (step into, go...).
The problem is when i enter debug mode to debug my source and stop to make modify my source. The second time i want to enter the debug mode, the VC failed and show a dialog box says MSDev is going to close.
I remove the Global IME but this problem still happend...
who can help me about this??
|
|
|
|
|
Reinstall the last service pack for Visual Studio, maybe that will do.
Andres Manggini.
Buenos Aires - Argentina.
|
|
|
|
|
If I got the handle of a application instance, can I get all of its windows' handles? Please help me
Law is meaningless without chaos.
Chaos without Law is equal to destruction.
Chaos and Law create our rich and colorful world.
|
|
|
|
|
|
Yes, it is. Can I get the handle?
Law is meaningless without chaos.
Chaos without Law is equal to destruction.
Chaos and Law create our rich and colorful world.
|
|
|
|
|
Application instance handle will be useless; it's provided for backward compatibility (all processes see identical value). You'll have to get a process ID instead. Then, as Norm suggested, you should use EnumWindows. For each window call GetWindowThreadProcessId and compare the IDs. Note that this technique gives you handles of toplevel windows; if you want their child you'll have to use EnumChildWindows.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
EnumWindowsProc?
Norm Almond
Chief Technical Architect
FS Walker Hughes Limited
|
|
|
|
|
It works fine. Thank you very much!
But I think enumeration's performance isn't very high. Are there any other solutions?
Law is meaningless without chaos.
Chaos without Law is equal to destruction.
Chaos and Law create our rich and colorful world.
|
|
|
|
|
Hi All,
I have one MFC GUI stand-alone application (its SDI doc/view architecture) and I want to convert it to ATL inproc dll. To do that I have added all the required files + resource file from MFC app to new ATL application. To invoke GUI from one of the interface method, I have created document template and then used CreateNewFrame.
When I use this ATL dll from a client application, it properly pops up GUI with some limitions. Accelerators dont work and tool bar buttons dont get the command ui message. I mean the menu items get update but associated tool bar buttons dont update. Does anybody tell me what is wrong ? Is there any different way to pop up GUI from ATL dlls ? Explicit loading of accelerator table also does not work.
Thanks,
Sujata.
|
|
|
|
|
Have you looked at WTL that comes with the Platform SDK. I think it might help you.
Michael
|
|
|
|
|
True !!! This is a second option I can consider. But the simplest and the fastest solution is removing MFC application's InitInstance and creating frame by my own in dll. Unfortunatly I dont have much knowledge about WTL. Does it support similar doc-view architecture ?
Thanks,
Sujata.
|
|
|
|
|
Probably PreTranslateMessage doesn't work when you invoke your component from client app. Override this function in your frame class (if it's not there yet) and put the breakpoint; if it doesn't fire, this is the source of your problems.
Explicit loading of accelerator table also does not work.
Loading doesn't have any effect visible to the user. You have to call ::TranslateAccelerator in the message loop if you want working accelerators. The problem is that you can't control the message loop from withing component - it's in the client app.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Thank you for the response.
I tried to override PreTranslateMsg in my frame class and also added TraslateAccelerator call. But PreTraslateMessage never gets fire.
Thanks,
Sujata.
|
|
|
|
|
PreTranslatemessage is called from within message loop somewhere in CWinThread. In your case it will not work - message loop is out of your control inside the client application.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
So does it mean that MFC DOC-View could not work properly with ATL ? Is there any other way to invoke GUI from ATL inproc ?
Thanks,
Sujata.
|
|
|
|
|
So does it mean that MFC DOC-View could not work properly with ATL?
I don't know. I think you could play with multiple threads and invoke your application in the separate GUI thread with its own message queue. Have no idea if this is worth the effort.
Tomasz Sowinski -- http://www.shooltz.com
|
|
|
|
|
Great ! Thanks, I will try out.
Sujata.
|
|
|
|
|
I wrote DLL How can I compile it in Release mode ?
|
|
|
|
|
The build toolbar in VC++ has a combo box, from there you can choose the Release mode setting. Then compile.
Michael
|
|
|
|
|
|
Look on the build menu, you should have a Set Active Configuration option. In there should be a list of configurations. One should be Win32 Release or somethink like that.
Michael
|
|
|
|