|
You cannot log the crash (of course OnClose isn't called when the application crashes). Anyway you may log the normal program execution in order to have hints about the crash.
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Thanks. Then how that exe will get closed during crash? Whether it will call OnClose or OnDestroy function?
|
|
|
|
|
You should call SetUnhandledExceptionFilter[^] to set a filter function to be called during a crash.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
|
Suppose if i closed the application using task manager, the control is not coming to SetUnhandledExceptionFilter function.
|
|
|
|
|
Did you read the docs for that function:
After calling this function, if an exception occurs in a process that is not being debugged, and the exception makes it to the unhandled exception filter, that filter will call the exception filter function specified by the lpTopLevelExceptionFilter parameter.
As Task Manager likely uses something akin to TerminateProcess() , it's doubtful that both of the above conditions would evaluate to true, thus making SetUnhandledExceptionFilter() a moot point.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
One simple solution (I think) would be
1. Write the status as STARTED to a status file when the application starts
2. Update it to CLOSED when application exits
You can check this status file to ensure whether the application closed normally or not.
One thing is that, when an application crashes no OnClose() like functions are called. Actually the OS is terminating the process.
- ns ami -
|
|
|
|
|
Hi,
Please let me know how can i increase the height ogf the title bar of a Dialog....
Will OnNcCreate will help....?
|
|
|
|
|
You cannot do this for a single window.
Title bar size is a global setting which will effect all windows.
For your requirement you will have to do some skinning like custom drawing on the dialog and handle the WM_NCHITTEST message.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
All windows in the sense which were not part of application also....?
Is it possible to try with SPI_SETNONCLIENTMETRICS ..
I want to change the titlebar for all DialogBoxes which are in my application.....
Please correct me if im wrong..
|
|
|
|
|
What I meant is all Windows on the system.
SystemParametersInfo is also used for system-wide settings.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
k then using SPI_SETNONCLIENTMETRICS i can change the Title bar Size for all the windows....?
|
|
|
|
|
kumar sanghvi wrote: ...using SPI_SETNONCLIENTMETRICS i can change the Title bar Size for all the windows....?
Have you tried?
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
ya i tried like this..
NONCLIENTMETRICS n;
n.cbSize = sizeof( NONCLIENTMETRICS );
::SystemParametersInfo( SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS) , &n , 0);
n.iCaptionHeight = 28;//where as default value is 25...
::SystemParametersInfo( SPI_SETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS) , &n , SPIF_SENDCHANGE);
it was increasing but when i revert iCaptionHeight to 25...im able to see the change titlebar but captions in the registry were looking weired...so pls let me know if there is any possibility to change the titlebar only in my application
|
|
|
|
|
kumar sanghvi wrote: so pls let me know if there is any possibility to change the titlebar only in my application
Superman eluded to that here. Basically, you're going to have to draw your own caption.
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|
i need a unlimited input buffer program in C language plz
|
|
|
|
|
I suppose you've to code it.
BTW: Have also a look at [^], it helps you to get better help.
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Just allocate memory dynamically. However, The "unlimitedness" would directly be dependent on the "limits" of your physical hardware (and on the size of the page file).
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Dear all,
this is my first step into VC++ programming, about this I've look for your suggestion, but after this I've no function in cpp and h files to use with MSCOMM control. Only OnComm function is available.
At this time I using the MS VC++.NET 2003. But VC++ 6.0 i will get Wrapper Class of MSCOMM but i will not get in VC++.NET.
Could anyone help me please?
|
|
|
|
|
jiya-123 wrote: At this time I using the MS VC++.NET 2003. But VC++ 6.0 i will get Wrapper Class of MSCOMM but i will not get in VC++.NET.
You can have a wrapper class also with Visual Studio 2003 .
(I've tested the following steps with Visual Studio 2005 , but I suppose they are the same on your Visual Studio version).
- Create a
MFC application having care of enabling the ActiveX controls check of the Advanced features tab of the MFC Application Wizard window. - Select
Project->Add Class item of Visual Studio Main menu. - Choose the
MFC node on the treview in the newly appeared window. - Select
MFC Class From ActiveX Control . - Click button
Add . - Choose
Microsoft Communication Control... in the newly appeared list. - Click button
Add .
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.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
hi all,
i m using a Reportview type CListCtrl,
i want to use Find operation in listctrl,
please tell me how can i use it ,
when i enter any string to search in list,when it find out than its highlited or any other way to show the find items.
thanks in advance.
To accomplish great things, we must not only act, but also dream;
not only plan, but also believe.
|
|
|
|
|
Did you try using CListCtrl::FindItem[^] to find and CListCtrl::SetItemState[^] to select the items?
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
I m trying this,but this work on one fixed Listctrl, and find item from first column only .
its not find string from entire list.
Basically i m working on SDI type splitter application,here i m split the view in one row and two column.
for first column i m using TreeView Derived Class,and for second Column i m using FormView Derived Class .
each formview has one ListCtrl where i want to perform find operation.
On Click event of Tree on different Tree Item replace the different Form View in Second column.
Ctrl+F use as shortcut for find.
so whenever i press Ctrl+F the find dialog must appear and find the text that is typed in find dialog in corresponding list where the Ctrl+F pressed.
Please help me for this.
if possible please explain me with any example.
Thanks in advance.
To accomplish great things, we must not only act, but also dream;
not only plan, but also believe.
|
|
|
|
|
Well, you could try iterating thorough the items of the list control yourself, querying for the strings in the columns and comparing them, so something like this:
for (int row = 0, endRow = the_list.GetItemCount(); row < endRow; row++)
{
for (int col = 0; col < column_count; col++)
{
CString Text;
Text = the_list.GetItemText(row, col);
if (Text.CompareNoCase(the_text_to_search_for) == 0)
{
the_list.SetItemState(row, LVIS_SELECTED, LVIS_SELECTED);
break;
}
}
} How about this?
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
Its nice,only one problem is there how can i use it for full application i mean for all ListCtrl those are used in Application.
and i m using ListCtrl with single selection property so i m not able to show all find item at one time.
To accomplish great things, we must not only act, but also dream;
not only plan, but also believe.
|
|
|
|