|
Which should I use to delete the instance of class CLadder? OPTION1 or OPTION2? Or something else? CLadder is a dialog class.
//OPTION 1
CLadder* pLD;
pLD = new CLadder:
...
...
...
delete pLD;
//OPTION 2
CLadder* pLD;
pLD = new CLadder:
...
...
...
pLD->DestroyWindow();
|
|
|
|
|
DestroyWindow before delete it.
|
|
|
|
|
It's my understanding that DestroyWindow really just destroy's the HWND (releases the window handle).
The window object should still be intact.
It's very handy to step into that code with the debugger.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />
Peter Weyzen<br />
Staff Engineer<br />
<A HREF="http://www.soonr.com">SoonR Inc -- PC Power delivered to your phone</A>
|
|
|
|
|
DestroyWindow is the counterpart to Create and is about the windows-window, the thing you see on screen.
delete is the counterpart of new and is about C++ classes and memory management.
Let's think the unthinkable, let's do the undoable, let's prepare to grapple with the ineffable itself, and see if we may not eff it after all. Douglas Adams, "Dirk Gently's Holistic Detective Agency"
|
|
|
|
|
Hi all,
I want to create a data connection in my MFC application, as follows
ADODB::_ConnectionPtr pConn;
Import the dll,
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \<br />
no_namespace \<br />
rename( "EOF", "adoEOF" )
in the stdafx.h header file. But it gives the compile error,
'ADODB' : is not a class or namespace name
Can you tell me why is that. I do the same thing on my early projects and work fine. I can't find where I'm going wrong.
I appreciate your help all the time...
Eranga
|
|
|
|
|
|
Thanks,
actually I do it in much more this way.
HRESULT hr;<br />
ADODB::_ConnectionPtr connection;<br />
hr = connection.CreateInstance(__uuidof(ADODB::Connection));
But still got the same error.
I appreciate your help all the time...
Eranga
|
|
|
|
|
Hi all,
I want to pass parameter from one exe to another using ShellExecute (parameter is a CString variable). Can anybody please tell me how to pass the parameter through ShellExecute and how to recieve this parameter in second exe file(i.e the file we are opening through ShellExecute)
Thanks in advance
|
|
|
|
|
You can pass the null terminated string using lpParameters parameter of ShellExecute function. The destination EXE should process the command line arguments using GetCommandLine and CommandLineToArgvW functions. Please check MSDN for more information.
-Sarath.
"Great hopes make everything great possible" - Benjamin Franklin
|
|
|
|
|
CString is an MFC class. What is the executable that you're trying to run built with? Will it be able to understand a CString?
Last modified: 11mins after originally posted --
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->ßRÅhmmÃ<-·´¯`·.
|
|
|
|
|
Both the applications are mfc dialog based application
in first application i have passed parameter through ShellExecute like this:
CString index_File = "C:\\Documents and Settings\\Mayank\\My Documents\\ppnam\\Debug\\ppnam.exe";
CString pass_val = "neha";
ShellExecute(NULL,"open",index_File,pass_val,NULL,SW_SHOW);
<\pre>
and in second application i have done this
<pre>
LPSTR wtr = GetCommandLine();
AfxMessageBox(wtr);
it gives output as
"C:\\Documents and Settings\\Mayank\\My Documents\\ppnam\\Debug\\ppnam.exe"neha
but i want only passed value....How to get it???
|
|
|
|
|
Instead of GetCommandLine() , try the following:
AfxMessageBox(m_lpCmdLine);
|
|
|
|
|
Its giving this error:
error C2065: 'm_lpCmdLine' : undeclared identifier
|
|
|
|
|
It is a CWinAapp member. You must put that message box in your InitInstance() , where it has meaning. ( ...NOT in InitDialog() )
BOOL CTestestApp::InitInstance()
{
AfxMessageBox(m_lpCmdLine);
}
|
|
|
|
|
i have done this...
but my application is not printing anything.....
|
|
|
|
|
Tried a message box in the InitInstance()? It doesn't display anything? Show me the relevant code, in both executables.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->ßRÅhmmÃ<-·´¯`·.
|
|
|
|
|
Calling exe
void CShellexeDlg::OnButton1()
{
CDialog::OnOK();
CString index_File = "C:\\Documents and Settings\\Mayank\\My Documents\\ppnam\\Debug\\ppnam.exe";
CString pass_val = "neha";
ShellExecute(NULL,"open",index_File,pass_val,NULL,SW_SHOW);
}
<\pre>
Called Exe :
a) On InitInstance
BOOL CPpnamApp::InitInstance()
{
AfxEnableControlContainer();
#ifdef _AFXDLL
Enable3dControls();
#else
Enable3dControlsStatic();
#endif
CPpnamDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
}
else if (nResponse == IDCANCEL)
{
}
AfxMessageBox(m_lpCmdLine);
return FALSE;
}
<\pre>
b) On InitDialog:
BOOL CPpnamDlg::OnInitDialog()
{
CDialog::OnInitDialog();
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
LPSTR wtr = GetCommandLine();
return TRUE;
}
<\pre>
|
|
|
|
|
GOT IT....
I was placing message box at wrong position.....
can you tell me if i want to pass more then one parameter then what should i do....
|
|
|
|
|
Passing more than one parameter should be easy. Parsing more than one parameter would involve some work.
But there are already good command line parsing classes available at CP, which you could use in your app. Search CP for Command Line Parser.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->ßRÅhmmÃ<-·´¯`·.
|
|
|
|
|
Calling Executable:
void CShellexeDlg::OnButton1()
{
CString index_File = "C:\\Documents and Settings\\Mayank\\My Documents\\ppnam\\Debug\\ppnam.exe";
CString pass_val = "neha";
ShellExecute(NULL,"open",index_File,pass_val,NULL,SW_SHOW);
CDialog::OnOK();
}
Called Executable:
BOOL CPpnamApp::InitInstance()
{
AfxEnableControlContainer();
#ifdef _AFXDLL
Enable3dControls();
#else
Enable3dControlsStatic();
#endif
AfxMessageBox(m_lpCmdLine);
CPpnamDlg dlg;
m_pMainWnd = &dlg;
}
Also, remove calls to GetCommandLine() from your OnInitDialog() and else where.
|
|
|
|
|
Hi,
I like to learn windows socket programming concept with hands on. Can any one suggest where i can get help?
Regards,
Rameshkanth
|
|
|
|
|
See in MSDN for SOCKET Operator.
Thanks and Regards,
Manish Patel.
B.E. - Information Technology.
|
|
|
|
|
Try this link socket programming in C.
http://web.cecs.pdx.edu/~jrb/tcpip/sockets/src/
|
|
|
|
|
|
Hi,
I would like to know the difference between Regular DLL using shared MFC DLL, MFC extension DLL, Regular DLL with MFC statically linked. Which one is better in performance and all other important aspects. I would be thankful for ur help.
Thanks & Regards
Sanjay S. Umap
|
|
|
|