|
Not sure about DLGC_WANTCHARS.
I need WM_KEYDOWN/WM_KEYUP messages.
I need the up messages so I know when to turn notes off.
right now i got it covered by DLGC_ANY<whatever_that_was_called>
it stops the beeps.
when i get a tab or shift tab, I send the parent dialog the
message for next/prev control.
i never use arrow keys, but i suppose i SHOULD handle those, too.
not gonna bother with the mnemonic hoppin' biz
Anywayyyyyyyyyz, it's good enough i spose.
Thanks
...Steve
|
|
|
|
|
Hi I posted this question earlier too. I have a VC application runing fine on 2000 n XP . But I could't run that application on server 2003. So after trying everything , I just installed MS VC++ 6 on Server2003 and compile that application and ran it , and it ran fine.
But now I have to ran that VC application on another MS 2003 server , and even after copying the 2003 DLLs , its not runing. Do I have to install MS VC++ on that machine also to ran my application ???
Any solution ? suggestions ?? plz !
ZINC
|
|
|
|
|
Hello ZINC,
Your application has so many dependencies.
So first u have to find that all.
Or just making package. which is recommended by me.
Becoz as u said u copy all dll file's
but some dll file u have to register with os be regsvr32.exe command.
so by making package it will handle all that things for u.
Divyang Mithaiwala
with best regards
|
|
|
|
|
Hi Divyang ,
Thanks for reply , can you please guide me how to make package ?
Kind Regards,
Zinc
|
|
|
|
|
Hello zinc_z,
For making package first make exe file by building project.
then there is one tool
start->Program->Microsoft Visual Studio 6.0->Microsoft Visual Studio 6.0 tool -> Package & Deployment Wizard
|
|
|
|
|
hi there ,
i have checked this tool , this tool only give option to open VBP visual basic project. Mine is a Viusal C++ project.
Regards
ZINC
|
|
|
|
|
|
Hi Mike ,
I have done what u have sugested but still its not working !!!
anyother sugestions ???
Regards
ZINC
HELLO
|
|
|
|
|
Did you use dependency walker (As mentioned in the faq) and determine what dependencies your application is using? Most likely if it's a crappy MFC application and you're building debug you don't have the debug MFC binaries installed.
8bc7c0ec02c0e404c0cc0680f7018827ebee
|
|
|
|
|
I am getting the value as character , then i need to copy that character variable into another character pointer variable....can we do this.
char svr;
char* svr1;
How to assigh char to char*?
-- modified at 11:39 Friday 20th January, 2006
|
|
|
|
|
Hello satish,
first u have to allocate memory for svr1 pointer like.
svr1 = new char();
then u can just copy the value of svr to svr1 like
*svr1 = svr;
|
|
|
|
|
palakurthi satish wrote:
How to assigh char to char*?
svr1 = &svr; As others have suggested, you could allocate memory for svr1 , but for only one character, that is very inefficient/wasteful. What exactly are you trying to accomplish?
"The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb
|
|
|
|
|
Hello,
I am using managed code to call a function in an unmanaged DLL. When I call the function, the program runs until the end of the function, and then gives a "Debug Assertion Failed!" dialog box for "Expression: _CrtIsValidHeapPoint(pUserData)". The error occurs no matter what code I have inside the function. For example, removing all the code in the dll function, so that it's just an empty function, does not prevent the error. The only thing that I've done to prevent the error is to comment out the line that calls the dll function.
This is how I import the function:
[DllImportAttribute("lib.dll")] extern "C" int func(string inputFileName);
This is the function declaration in the DLL code:
__declspec(dllexport) int func(string inputFileName)
Does anyone have any suggestions for how to track this down?
Thanks,
--Jordan
-- modified at 13:10 Friday 20th January, 2006
|
|
|
|
|
|
Even if I remove the whole function body, I get the same error. So, right now it looks like this:
__declspec(dllexport) int func(string inputFileName)<br />
{<br />
}
-- modified at 13:10 Friday 20th January, 2006
|
|
|
|
|
so, you're exporting a function that takes a std::string as input ? i suspect then that the std string ctor is going to be called even if there isn't any code in the body of the function. that could be related to the problem.
what if you change that to:
__declspec(dllexport) int func(const char *inputFileName)
{
}
?
Cleek | Image Toolkits | Thumbnail maker
-- modified at 13:15 Friday 20th January, 2006
|
|
|
|
|
Yes! That fixed it. Thanks.
So it's not allowed to create a managed function that uses an unmanaged class as input?
--Jordan
|
|
|
|
|
Jordan C. Atlas wrote: So it's not allowed to create a managed function that uses an unmanaged class as input?
i wish i could answer that... but i really don't know.
glad my suggestion helped, though.
Cleek | Image Toolkits | Thumbnail maker
|
|
|
|
|
Hi,
Is there a way in the code to ignore a library at linkage if the corresponding dll is not on the system or registered?
Thanks,
Tony
|
|
|
|
|
Use explicit linking instead.
"The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb
|
|
|
|
|
Are you having a problem while linking?
AFAIK, the linker will not complain about the missing lib unless it could not resolve any symbol while linking.
-Prakash
|
|
|
|
|
Hi
In my application i have a wizard which has two dlg boxes derived from CPropertyPage & added to CPropertySheet class.
Now when the user makes his choice and and presses the <finish> button, a long process is called. Now untill the entire process ends, the wizard is not terminated.
I want the Wizard to terminate before the start of the lengthy process.
How do i achieve this?Plz suggest.
I am showing the code inside the OnWizardFinish() function.
BOOL CSelectSearchDriveDlg::OnWizardFinish()
{
CStxApp *pApp = (CStxApp*)AfxGetApp();
CMainFrame* pFrame = (CMainFrame*)GetParentFrame();
int nRet = 5; // Any value will do.
//Destroy wizard dialog
pApp->m_pMySheet->EndDialog(IDCANCEL);
pApp->m_pMySheet->PressButton(PSBTN_CANCEL);
//DoEvents();
//DestroyWindow();
pApp->FSys->DoLengthyProcessing();
return CPropertyPage::OnWizardFinish();
}
void CSelectSearchDriveDlg::DoEvents()
{
MSG msg;
// PeekMessage retrieves messages associated with the window or any of its children.
// During this call, the system delivers pending messages that were sent to windows.
while(::PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))
{
if(::GetMessage(&msg, NULL, 0, 0))
{
::TranslateMessage(&msg);
::DispatchMessage(&msg);
}
else
break;
}
}
I have tried everything such as:
pApp->m_pMySheet->EndDialog(IDCANCEL);
pApp->m_pMySheet->PressButton(PSBTN_CANCEL);
//DoEvents();
//DestroyWindow();
But with no success.
When i tried DestroyWindow() the GUI data(Buttons,list control, editbox) from the wizard disappeared but the wizard was still there.
How can i make sure that the wizard terminates before the lengthy process begins.
Waiting for suggestions
Best Regards
|
|
|
|
|
Maybe it is possible to move the lenghty process outside the Wizzard (I don't if this is already donc or not). And, also for me the best thing to do when you have a lenghty process is to start it in a separate thread to avoid the UI to freeze.
|
|
|
|
|
I am not sure where you are doing the processing. I believe it is in CMainFrame.
You could:
Create a custom message handler in CMainFrame, like:
//In resource.h:
#define WM_MYMESSAGE WM_APP + 200
Define a function to handle the message:
//In mainfrm.h
LRESULT OnMyMessage(WPARAM, LPARAM);
In mainfrm.cpp:
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)<br />
...<br />
...<br />
ON_MESSAGE(WM_MY_MESSAGE,OnMyMessage)<br />
END_MESSAGE_MAP()<br />
<br />
LRESULT CMainFrame::OnMyMessage(WPARAM, LPARAM)<br />
{<br />
}
Now send the message:
//In the wizard:
CMainFrame* pFrame = ...whatever.<br />
pFrame->PostMessage(WM_MYMESSAGE,0,0);
All this is from memory, so there may be bugs.
this is this.
|
|
|
|
|
dp_76 wrote: I want the Wizard to terminate before the start of the lengthy process.
Depending on how you started this "lengthy process," this may not be possible. If you used CreateProcess() , then it is simply a matter of ending the Wizard in a normal fashion. Otherwise, the Wizard will need to hang around along with the other, although it can be hidden.
"The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb
|
|
|
|