|
The red exclamation point icon "Executes" your app and won't attach the debugger. So clicking Retry on an assertion dialog won't get you into the debugger because it's not attached. I don't understand how you did it in Win 98 before. And I don't think this issue is OS dependent.
|
|
|
|
|
Thanks for the response. I'm not sure why, but "Executing" the app under Win 98 did allow for the "Retry" debugging. When I got a new computer with XP Home installed, I reinstalled VS 6.0 and SP5 just as I had under Win 98 and the only difference I noticed in VS was the inability to get into the debugger from "Execute."
Thanks to another response, I now know I can just use the "Go" command instead and that works fine.
Thanks again.
|
|
|
|
|
My 'Shellapi.h' NOTIFYICONDATA struct version doesn't support some functionality of W2K Shell_NotifyIcon().
if someone can pass me 'Shellapi.h' ver 5.0 or, tell me the values of these
constants:
NIM_SETFOCUS
NIF_STATE
NIS_HIDDEN
NIIF_WARNING
NIF_INFO
NIIF_ERROR
I'll be VERY greatful
--BlackSmith--
"With the help of all mighty", 2001, Me.
|
|
|
|
|
#define NIM_SETFOCUS 0x00000003
#define NIF_STATE 0x00000008
#define NIS_HIDDEN 0x00000001
#define NIIF_INFO 0x00000001
#define NIIF_WARNING 0x00000002
#define NIIF_ERROR 0x00000003
hope this helps
regards
Greg
modified 12-Sep-18 21:01pm.
|
|
|
|
|
#define NIM_SETFOCUS 0x4
#define NIF_STATE 0x8
#define NIS_HIDDEN 0x1
#define NIIF_WARNING 0x2
#define NIF_INFO 0x10
#define NIIF_ERROR 0x3
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Hi!
I can't install the latest Platform SDK. The setup reports this error:
"Setup has encountered an error
Another version of this product is installed, but its components cannot be located"
"You must uninstall the previous version of the Core SDK (Windows XP SP1) before Setup can continue. Choose OK to exit the Core SDK (Windows XP SP1) Setup Wizard, then use the Add/Remove Programs control panel to uninstall any previous versions"
What the hell does that mean? I had prevously installed the PSDK November 2001 and I wanted zo update it. I clicked on the item "Platform SDK November 2001" in the Add/Remove programs control panel. But this didn't seem to uninstall the SDK, since I still keep getting this error.
Any help is greatly appreciated
Greg
modified 12-Sep-18 21:01pm.
|
|
|
|
|
You need to remove certain registry settings. Look for registry setiings "Window SDK" or "Paltform SDK" under HKLM and delete it.
Step back, rub your eyes, take a deep breath, stretch a bit, and reflect on the relative importance of CP, CG, the age / travel time sustained by supposedly 'fresh' cheese curds, and Life in General. - Shog9
|
|
|
|
|
Hi,
I know how to create file with CreateFile() provide by SDK...
But with CFile !!!
I tried that :
CStdioFile newFile;
CFileException exc;
if(!newFile.Open("Backup.txt", CFile::modeCreate || CFile::modeWrite || CFile::typeText, &exc) ) {
exc.ReportError();
return;
}
and the result is a "File not found" Message box...
But I explicitly write : CFile::modeCreate !!!
Anybody can help me ?
Thanks for him...
Hello World!!!
from Raphaël
|
|
|
|
|
CStdioFile newFile;
CFileException exc;
if(!newFile.Open("Backup.txt", CFile::modeCreate | CFile::modeWrite | CFile::typeText, &exc) ) {
exc.ReportError();
return;
}
will work fine i guess, u have to pipe, not to logicaly or everything!
Papa
Murex Co.
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
Try
if(!newFile.Open("Backup.txt", CFile::modeCreate | CFile::modeWrite | CFile::typeText, &exc)
a single | instead of ||
Mike Mullikin - People demand freedom of speech as a compensation for the freedom of thought which they seldom use.
Soren Kierkegaard
|
|
|
|
|
I'm very stupid... logical OR is "|".... YES... of course... I know that... And now, It's OK... (stupid error)... I'm sleeping...
Thanks... Thanks... Thanks...
Hello World!!!
from Raphaël
|
|
|
|
|
Hi everyone,
I'm hoping someone can shed some light on the use of inheritance with dialog classes. I'm afraid that my situation is a bit tricky to describe. Please bear with me
I've designed a nice dialog (IDD_CEN_SEL). It will always have the same layout of buttons, edit boxes etc, but I want it to react to the user in various different ways. I thought that a good way to do this would be to use C++ inheritance/polymorphism. I created the dialog and the associated C++ class, CCenSelBase. I mplementd all of the constant functionality in the base class. I then created an inherited class CCenSelMapping : public CCenSelBase. This reacted to the user interface in certain specific ways. I also created a class CCenSelPlane : public CCenSelBase with slightly different functionality. This all worked nicely, and I was happy. Can you feel a 'But' coming...
But, I then created a new class CCenSelOffset : public CCenSelMapping. So I have a class inheriting from a class that inherits from the base class. Here's were it all gets very confusing.
here's some snippets of code:
BOOL DCenSelBase::OnInitDialog()
{
CDialog::OnInitDialog();
...
...
BOOL DCenSelMapper::OnInitDialog()
{
DCenSelBase::OnInitDialog();
InitTabs(m_tab);
...
...
BOOL DCenSelOffset::OnInitDialog()
{
DCenSelMapper::OnInitDialog();
...
...
CCenSelMapping uses DataExchange to get a member variable CTabCtrl m_tab, linked to a tab in the dialog. It initialises the tab within InitDialog().
So the tab initialisation code is called in DCenSelMapping::InitDialog(), via a call to DCenSelOffset::InitDialog(). But in DCenSelMapping::InitDialog() m_tab is not intialised (m_tab::m_Hwnd == NULL).
In the debugger, DCenSelOffset::m_tab.m_hWnd is valid, but DCenSelMapping::m_tab.m_hWnd == NULL.
Does this make any sense to anyone? I have a feeling I've described the problem really badly, so if anyone needs more clarification, please ask away.
Any help would be greatly appreciated,
TIA
Pete
|
|
|
|
|
Hi Pete,
It's hard to know whithout further information, but I got a hunch about what might be going on. Is by chance m_tab declared twice, both in DCenSelMapping and DCenSelOffset ? This could be causing the classes to "look" at different member objects.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Yes, m_tab is declared twice. Or rather, was. I just removed it from DCenSelOffset.
That didn't work
This got me thinking, and I /think/ I've worked out what was happening. m_tab was declared in DCenSelMapping, and included in the AFX_DATA_MAP. So when DCenSelBase::InitDialog() called Dialog::InitDialog(), it was only initialising the variables declared in DCenSelBase's AFX_DATA_MAP, so it didn't initialise the inherited class's AFX_DATA_MAP. So I now have m_tab as a member of CCenSelBase, and have added it to all 3 class's AFX_DATA_MAP. And it works.
Does my explaination seem plausible?
Anyway, to cut a long story short, it now works. Thanks for the help Joaquin.
Pete
|
|
|
|
|
Does my explaination seem plausible?
It does to me I guess you can also keep m_tab in DCenSelMapper and call UpdateData(FALSE) prior to InitTabs() .
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
I have stumbled up against a wall with this one and am hoping that someone else has already handled this. I am qualifying code that presently works on WinNT to ensure that it works the same on Win2K. For an owner draw combo box, the following code in the DrawItem method fails on Win2K, but only when the display option for 'transition effects in menus and tooltips' is turned on.
CDC* DeviceContextPointer = CDC::FromHandle(lpDrawItemStruct->hDC);
CWnd* DropDownWindowPointer = DeviceContextPointer->GetWindow();
When the option is turned off, the CWnd pointer has a non null value and points to a real honest to goodness window. When the option is turned on however, the CWnd pointer is NULL and rightly so because with the option turned on, the DrawItem method is invoked without a real honest to goodness window available to draw in. I think that part of the trouble is that the 'architecture' for owner draw stuff has changed and I need to jack around the code to reflect that. Any ideas or comments are appreciated. Thanks.
Chris Meech
|
|
|
|
|
I'm having problems with an array tacking a bunch of sludge on to the end of a array of random characters. It needs to generate an array of 64 random bytes for use inan encryption routine. I'm getting the 64 bytes of information that I want at the front end of the array, BUT..it's also tacking on the contents of the original array that I filled with a sequence from ASCII 32 to ASCII 127 character values. My question is how to get the sludge off the end of the array so it consists of just teh 64 random byte values. Source Code Follows:
srand(GetTickCount());
int nElementCount = 0;
int nElementValue = 32;
char szStringArray[95] = "";
char szRandomBytes[64] = "";
while ( nElementCount <= 94 )
{
szStringArray[nElementCount] = nElementValue;
nElementCount++;
nElementValue++;
}
nElementCount = 0;
while (nElementCount <=63)
{
int nRandomNumber = rand();
while (nRandomNumber >= 95)
{
nRandomNumber = nRandomNumber / 2;
}
szRandomBytes[nElementCount] = szStringArray[nRandomNumber];
nElementCount++;
}
MessageBox(NULL, szRandomBytes, "Random String From Array", MB_OK);
It's good to see kids turning their minds to wholesum activities such as programming, instead of wasting their lives in the hedonistic disciplines of Sex, Drugs, & Rock & Roll... or Sex with Drugs, or Sex with Rocks while Rolling in Drugs, or whatever new-fangled perversions you little monsters have thought up now...
[Shog9 on Kid Programmers]
|
|
|
|
|
Put a terminating character at teh end of your string. The last character in your array should be '\0'. You are trying to display a string in your MessageBox by putting the array of char but are not giving your array of char a termination indicating this is where the string ends.
|
|
|
|
|
char szStringArray[95] = "";
char szRandomBytes[64] = "";
memset(szStringArray,0,95);
memset(szRandomBytes,0,64);
And off u go
Papa
Murex Co.
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
i'm converting some of my console apps to Unicode (long story). but, i've noticed that i can't write a Unicode string using cout, i just get a memory address out ("0x00faade2" or whatever).
my question is: is this true on non-US versions of Windows, too? do i have to output only ANSI to the console?
-c
To explain Donald Knuth's relevance to computing is like explaining Paul's relevance to the Catholic Church. He isn't God, he isn't the Son of God, but he was sent by God to explain God to the masses. /. #3848917
|
|
|
|
|
In my experiences, it seems that - with the exception of DBCS languages - if something fails like that on English, it'll fail in other languages, too.
Have you tried using wcout instead of cout ?
Even if you win the rat race, you're still a rat.
|
|
|
|
|
wcout... yeah. there's an idea.
thanks.
-c
To explain Donald Knuth's relevance to computing is like explaining Paul's relevance to the Catholic Church. He isn't God, he isn't the Son of God, but he was sent by God to explain God to the masses. /. #3848917
|
|
|
|
|
You have to use the wide character version (wcout) to print unicode strings. However, I have noticed that internally everything is just converted to ANSI before the buffer is put out (via WriteFile() ) to the console. So if you are using "fancy" charsets this may fail
--
Daniel Lohmann
http://www.losoft.de
|
|
|
|
|
Does anyone know how to get the title bar font for a CFrameWindow?
Thanks,
David.
|
|
|
|
|