Low level of MFC is the Win32 API. Open the context menu by right clicking on a call to CListCtrl::GetItemCount() and choose 'Go to definition'. You will see that it is an inline function that sends the LVM_GETITEMCOUNT message to the list control window. This message is not processed while your GUI thread is blocked.
A general rule is: Never block GUI threads. If you have to wait for events, do this in worker threads.
1) Write a exe program that uses your COM.
2) Launch the exe.
3) Open your COM Project is Visual Studio
4) Attach the already running exe with the Project.
5) Keep the break points and start debugging it.
see am not able to understand the 4th step.
attach in the sense by changing the configuration properties in that debugging and then
command and passing the path of the exe. if this the way then its control not coming to break point or i may be wrong to the exe ....
hi ,thanks ...
one more thing i want to ask how to register the dll .
am getting the error message that DLL has loaded but entry point DllRegisterserver was not found ...
but am wtritten the code for it
HRESULT hr = RegisterServer (AfxGetInstanceHandle(), // handle to dll module
CLSID_CCmpnt, // component CLSID
g_szFriendlyName, // friendly name
g_szVerIndProgID, // version independent prog id
g_szVerDndProgID); // version dependent prog idreturn hr;
its in a function name STDAPI DllRegisterServer(void)
the control not coming in this function what might be cause please reply
ok sorry ..
the code i build in 32 bit its success but when i configure the VS 2010 for 64 bit the error message con not instantiate the
HRESULT IContextMenu::GetCommandString(UINT_PTR,UINT,UINT *,LPSTR,UINT)' : is abstract
see declaration of 'IContextMenu::GetCommandString'
why this conflict
In DLL i have written the code for Context menu in vs2010 using COM
i derived the class CRsEraser : public IContextMenu, public IShellExtInit
this IShellExtInit and IContextMenu is are com class
when use it
CRsEraser *pCmpnt = new CRsEraser;
if (pCmpnt == NULL)
HRESULT hr = pCmpnt->QueryInterface (iid, ppv);
// Release the IUnknown pointer
CRsEraser *pCmpnt = new CRsEraser;this part showing its abstract class .
in 32 bit compile its working fine same when configure to 64 bit its throwing the error what i have mention earlier .
how i configure:
1 Open your Visual C++ Solution
2 Choose Build->Configuration Manager menu
3 Inside the Configuration Manager window, change the ‘Active solution platform’ to x64. If you don’t have any, you would need to create one by selecting the ‘New..’ drop down item. Copy settings from your Win32 platform.
4 Now rebuild your solution.
Look at the error messages. They are telling you that certain external functions that you reference cannot be found within the project. Find out where these are supposed to be defined and ensure that they are externalised.
I was a graduate student in Tsinghua University in China.
I'm programming about NC Code Simulation System.
In this program, I used OpenCSG Library to perform a Solid Modeling.
By the way, the sample program supported by library which is programmed in Win32 App, is well operate, but the program that I produced in MFC doesn't well operate. The error is that OpenCSG doesn't draw solid.
How to use OpenCSG Library in MFC?
I have created a console application (.exe), and we have used SetConsoleCtrlHandler for signal handling i.e. "CTRL + C" and Log Off and Shutdown Events.
We are properly able to handle the "CTRL+C" event but Logoff and Shut down events cannot be handled properly.
Following content is mentioned at MSDN:
The system generates CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT signals when the user closes the console, logs off, or shuts down the system so that the process has an opportunity to clean up before termination. Console functions, or any C run-time functions that call console functions, may not work reliably during processing of any of the three signals mentioned previously. The reason is that some or all of the internal console cleanup routines may have been called before executing the process signal handler.
Please suggest how we can properly handle Logoff and shutdown event by our console application.
Or please suggest any other technique (if available) for handling the logoff and shutdown event by the console based application.
Pardon me!! I am new here. I am unable to use addNode function. When i declare Node* it doesnt compile.
I am trying to implement a linked list in c++ without
using structures and only use pure classes.I am rusty here. Any help would be great.
head->addNode() and head.addNode() doesnt work.