|
|
Hi all,
i want restart option for application.
i m using SDI type of application and split it in 2 columns.
at one form i use a button of restart application here i want if i click on this button than application shall close and than open at initial stage.
is this possible,
if yes please tell me how can i use this.
thanks in advance.
IN A DAY, WHEN YOU DON'T COME ACROSS ANY PROBLEMS - YOU CAN BE SURE THAT YOU ARE TRAVELLING IN A WRONG PATH
|
|
|
|
|
One way I can think of is to relaunch your application using CreateProcess[^] or ShellExecute[^] and then terminate the current process.
|
|
|
|
|
Easiest way is to start a new instance of your application, immediately folloed by terminating the current one:
TCHAR thisExe[MAX_PATH];
::GetModuleFileName(0, thisExe, MAX_PATH);
::CreateProcess(exeName, 0, 0, 0, 0, 0, 0, 0, 0, 0);
::ExitProcess(0);
|
|
|
|
|
|
Hi all,
I am using _ultoa_s for conversion of long to string using this way
_ultoa_s ( pDir32->Dir [ i ].fileSize,(char *)Name,sizeof(&Name), 10 );
pListCtrl->SetItemText ( index, 2, (char *)Name);
But the problem is sometimes its executing fine but sometimes it just crashes my application....
i am working in vc 2008..
Thanks in advance
|
|
|
|
|
sizeof(&Name) is the culprit - the size of an address (pointer) is always 4 bytes. (for a 32-bit compiler)
What type is the variable Name? If its a character array, you should use sizeof(Name). if it's a pointer, you need to know the size with which it was allocated.
|
|
|
|
|
L. Madhavan wrote: sizeof(&Name) is the culprit
I missed that point. How ever if the Name is allocated in the stack, there is no problem in using sizeof(Name) .
modified on Wednesday, December 17, 2008 2:34 AM
|
|
|
|
|
But if Name is dynamically allocated on heap, sizeof(Name) and sizeof(&Name) both returns the size of pointer. Doesn't it ?
- Malli...!
|
|
|
|
|
If Name is a plain string, use strlen instead. It is much safer.
Note to self: take a morning coffee before answering questions...
modified on Wednesday, December 17, 2008 3:17 AM
|
|
|
|
|
strlen returns the current length of the string, not the actual size of the buffer. Moreover, if the buffer is uninitialized, (i.e. no null terminator) the behaviour of strlen is undefined.
|
|
|
|
|
Oh crap, I forgot to take my coffee this morning Yes, of course, we need to pass the size of the available buffer, not the size of the string...
|
|
|
|
|
Malli_S wrote: Doesn't it ?
Yes
|
|
|
|
|
VCProgrammer wrote: But the problem is sometimes its executing fine but sometimes it just crashes my application....
I dont think this is an issue of _ultoa_s . It can also be an issue in accessing pDir32->Dir [ i ].fileSize variable. So first try to isolate it. Please change the code as follows and find out at which line the crash occurs.
unsigned long lFileSize = pDir32->Dir [ i ].fileSize;
_ultoa_s ( lFileSize ,(char *)Name,sizeof(&Name), 10 );
|
|
|
|
|
What is the type of Name ? May be sizeof(&Name) giving the problem.
- Malli...!
|
|
|
|
|
while trying to use
CreateTimerQueue();
function i hv still facing following errors
i hv included windows.h and winbase.h files, add kernel32.dll and kernel32.lib files
and also defined macro
#define _WIN32_WINNT 0x0500
but still 2 errors
C:\New Folder\sss\sssDlg.cpp(198) : error C2065: 'CreateTimerQueue' : undeclared identifier
C:\New Folder\sss\sssDlg.cpp(198) : error C2440: '=' : cannot convert from 'int' to 'void *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
plz suggest solution...
|
|
|
|
|
i m using visualStdio2000 ,visual c++6.0
|
|
|
|
|
plz tell me if anyone know that in which headerfile CreateQueueTimer method is declared
|
|
|
|
|
can anyone send me winbase.h containing declaration of CreateTimerQueue() finction ..
|
|
|
|
|
shaina2231 wrote: C:\New Folder\sss\sssDlg.cpp(198) : error C2065: 'CreateTimerQueue' : undeclared identifier
The above function will not be present in the header file that comes along with the visual studio 6. If you want to you this function in visual studio 6, you have to install platform SDK and integrate it with visual studio 6. You can download it freely from XPSP2 PSDK Full Download with Local Install[^]
Optionally you can dynamicaly load this function from the "Kernel32.dll" and call it directly using the LoadLibrary() and GetProcAddress() function.
|
|
|
|
|
thanks naveen using loadlibrary it works ..
|
|
|
|
|
Hi. I can't seem to find help in MSDN or Studio 2008 regarding this...
I want my modeless CPropertySheet to ALWAYS be on top of its parent window.
The ideal solution would be to have my modeless property sheet only on top of its parent, but I am willing to settle on having my property sheet on top of all windows.
Can anyone help me with setting the Z-order of a modeless CPropertySheet?
Thank you.
John
|
|
|
|
|
You could use SetWindowPos()[^].
Something like:
pPropSheet->SetWindowPos(pOwnerWnd, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
I tried this, as is, but still notice my unwanted results.
The parent of my CPropertySheet is a Frame window object. I create my modeless property sheet as:
m_pSettingsConsole->Create(NULL, WS_SYSMENU | WS_POPUP | WS_CAPTION | DS_MODALFRAME | DS_CONTEXTHELP, WS_EX_DLGMODALFRAME);
m_pSettingsConsole->SetWindowPos(this,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
Is there more to set the Z order? BringWindowToTop? Keep it on top?
confused
Revised My error was in my Create argument, the parent window should be my Frame window object, not the desktop (NULL)...
m_pSettingsConsole->Create( this , WS_SYSMENU | WS_POPUP | WS_CAPTION | DS_MODALFRAME | DS_CONTEXTHELP, WS_EX_DLGMODALFRAME);
m_pSettingsConsole->SetWindowPos(this,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE);
modified on Thursday, December 18, 2008 2:31 PM
|
|
|
|
|
Hello. I'm having an issue with the background color of an ATL control placed on a tab page. The windows xp color theme for a tab page is a white fading effect. When the control is created on the tab page it uses its own background color (obviously), which is the classic buttonface color. Does anyone know how to make the background color transparent so it appears as though the controls on the ATL object are on the tab page (with the white fading background)? I've done lots of searching and can't seem to find an answer that has worked or applies to my situation. Also, the ATL object that I'm using is inherited from CWinApp, and I do not have a class inherited from CDialog. Let me know if a class inherited from CDialog needs to be created. This is part of a large program I am modifying to have an XP look and feel. I'm using Visual Studio 6.0. Thanks in advance.
Kenny
|
|
|
|