|
Can you manually (e.g. with Windows Explorer) create a file in that location?
Elaine
|
|
|
|
|
I can create a Word file in that directory with no problem
John P.
|
|
|
|
|
Hi,
During the creation of the MainFrame, i call a function called StartUp,
which initialises different configs.
If something goes wrong during this initialisation, i would close the application.
an exit(1) terminates hardly the program and provokes MemoryLeaks ( Destructor isn't called )
Anyone an idea?
Thanks
|
|
|
|
|
baerten wrote: an exit(1) terminates hardly the program and provokes MemoryLeaks ( Destructor isn't called )
Which means you should not be using exit() . Send a WM_CLOSE message instead.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
So you are in (your CFrameWnd -derived class) CMainFrame::OnCreate ?
Simply
return -1<br />
this is the official notification that the creation went wrong.
See the MFC-standard code:
if (!m_wndToolBar.CreateEx( this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
AfxMessageBox( "Failed to create wndToolBar\n", MB_ICONERROR);
return -1;
}
"We trained hard, but it seemed that every time we were beginning to form up into teams we would be reorganised. I was to learn later in life that we tend to meet any new situation by reorganising: and a wonderful method it can be for creating the illusion of progress, while producing confusion, inefficiency and demoralisation."
-- Caius Petronius, Roman Consul, 66 A.D.
|
|
|
|
|
Thanks you two
|
|
|
|
|
I am using ADO to connect to an ORACLE database. After a network failure (disable/enable network interface or unplug/plug network cable) ADO cannot restore the connection. I close the connection, then even create a new one with CoCreateInstance but queries rise exception
ORA-03114: not connected to ORACLE. Do you know how to solve this?
modified 8-Mar-17 3:50am.
|
|
|
|
|
Hi,
This is actually a second part to a previous option.
Assuming I "caught" the VK_TAB in PreTranslateMessage function of my custom CEdit control and did what I want.
Now, how do I force the cursor to stay at the end of the line inside my CEdit control. right now, after I am done processing the VK_TAB, the focus goes to the next control. I want to prevent that.
I tried SetFocus and return w/o running the CEdit::PreTranslateMessage after my processing but that did not help.
Thank.
|
|
|
|
|
from MSDN Pretran
CWnd::PreTranslateMessage
virtual BOOL PreTranslateMessage( MSG* pMsg );
Return Value
Nonzero if the message was translated and should not be dispatched;
0 if the message was not translated and should be dispatched.
Hence you have simply make your PreTranslateMessage implemantation to return 0 when Tab is intercepted.
-- modified at 13:26 Monday 8th January, 2007
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
please don't use the <pre> tag to quote long sentences. this enforce the page to display the line till the end, requiering us to scroll then...
|
|
|
|
|
I've modified it.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
I built a demo project that using OLE-DB,I add two controls on my form
(Single Document),one is DataGrid,the other is ADODC,What my purpose is that I want to resize the size of the two controls when the form shows,the variables that connect to the two controls are m_DataGrid and m_AdoDC;
the code is as followed:
void CADO2View::OnSize(UINT nType, int cx, int cy)
{
int iHeight;
int iWidth;
CRect oRect;
COleDBRecordView::OnSize(nType, cx, cy);
if (m_AdoDC.m_hWnd==NULL||m_DataGrid.m_hWnd==NULL)
{
return;
}
else
{
m_AdoDC.GetClientRect(oRect);
iHeight=oRect.Height();
iWidth=oRect.Width();
m_AdoDC.MoveWindow(0,0,iWidth,iHeight,TRUE);
m_DataGrid.MoveWindow(0,iHeight,cx,xy,TRUE);
}
}
But the code doesn't work,so how to resize the controls when the form shows?
Nothend
-- modified at 19:51 Monday 8th January, 2007
|
|
|
|
|
Nothend wrote: But the code doesn't work,so how to resize the controls when the form shows?
What happens exaclty ? What does 'not working' mean ?
Also, use the pre or code tag when you post code (it will make it more readable)
|
|
|
|
|
I am sorry about that,because I am a student from China,my English is poor.
What I want is that when the view shows,the DataGrid and the ADODC will position the right place on the form(view),not the place I put when using the control bar.
As the code shows that,the event of OnSize takes place first than that of
DoDataExchange,so the two variables(m_AdoDC and m_DataGrid) are null when OnSize takes place.
I use PostMessage(WM_SIZE) in the event of OnInitialUpdate,and then it happpens,but the control ADODC doesn't move when I pull the form ,and the DataGrid does.
So how can I do ?
Thanks a lot!
Nothend
|
|
|
|
|
Well, I didn't look at all the details of your code for my previous answer (your explanation was a bit vague). But I think the problem is here:
Nothend wrote: m_AdoDC.GetClientRect(oRect);
iHeight=oRect.Height();
iWidth=oRect.Width();
m_AdoDC.MoveWindow(0,0,iWidth,iHeight,TRUE);
m_DataGrid.MoveWindow(0,iHeight,cx,xy,TRUE);
You said that m_AdoDC is a member of your class, so it will never resize. The only thing that is resizing is your view. So what you need to do is retrieve the new size of your view (using GetClientRect) and then calculate the new sizes of the two other controls.
|
|
|
|
|
I am sorry about that,because I am a student from China,my English is poor.
What I want is that when the view shows,the DataGrid and the ADODC will position the right place on the form(view),not the place I put when using the control bar.
As the code shows that,the event of OnSize takes place first than that of
DoDataExchange,so the two variables(m_AdoDC and m_DataGrid) are null when OnSize takes place.
I use PostMessage(WM_SIZE) in the event of OnInitialUpdate,and then it happpens,but the control ADODC doesn't move when I pull the form ,and the DataGrid does.
So how can I do ?
Thanks a lot!
|
|
|
|
|
You can use of SendMessage(WM_SIZE)
|
|
|
|
|
|
Because the event of OnSize takes place first than that of DoDataExchange,so the controls' m_hWnds are null.
I have used the PostMessage(WM_SIZE),it works,but the ADODC control can't move,I don't know why.
Thanks
Nothend
|
|
|
|
|
What happens if you insert ScreenToClient/*for converts coordinates */ after m_AdoDC.GetClientRect(oRect);
m_AdoDC.GetClientRect(oRect);
m_AdoDC.ScreenToClient(oRect);
|
|
|
|
|
It's all the same .
Nothing happen.
Nothend
|
|
|
|
|
Do you mind that I send you a email including the demo code to you?
Nothend
|
|
|
|
|
Nothend wrote: Because the event of OnSize takes place first than that of DoDataExchange,so the controls' m_hWnds are null.
Call UpdateData as first statement in OnSize , which eventually calls DoDataExchange .
|
|
|
|
|
I have tried that ,but it would be error.
It will show error dialog saying that "Debug Assertion Failed",and if I retry,the XP sends me a error report.
Nothend
|
|
|
|
|
Hi,
I have sub classed CEdit and I can get notifications for example in the OnKeyDown function for any VK_XXXXX keys. From some odd reason, the VK_TAB is not responding, any reason why ?
Basically, what I am looking for is to do auto complete Linux type. I already have the data to auto complete and I just want to do it with the TAB key. The problem is that no matter what I tried, the TAB always does what it's "programmed" to do in windows, it jumps to the next field.
Any help is appreciated.
shay
|
|
|
|