|
prithaa wrote: I have declared a namespace for 3 of my classes and changed the declarations accordingly using : :
Why?
Adding
using namespace f; did not help?
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"
|
|
|
|
|
Make sure you understand what the various message map macros expand to.
The message map is a static member variable of the class. If you wrap
the dialog class declaration in a namespace then wrap the dialog
implementation in that namespace.
Move the message map table definitions into the same namespace the
dialog class is declared in.
namespace f {
class CAboutDlg : public CDialog
{
protected:
afx_msg void OnButton1();
DECLARE_MESSAGE_MAP()
};
}
namespace f {
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
END_MESSAGE_MAP()
void CAboutDlg::OnButton1()
{
}
}
|
|
|
|
|
Hi,
I need to create a unique id which consists only of numbers (0-9), and needs to be of a certain length (not more than 37 chars).
How can I do this?
I know that here is GUID, but this creates a hexidecimal number.
Thanks
|
|
|
|
|
Well, I think it is far easier to change the GUID representation than writing your own algo to create a unique ID . Unfortunately, a 128-bit wide number (as GUID is) requires more than 38 decimal digits.
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.
|
|
|
|
|
yes - that's exactly my problem
|
|
|
|
|
yes - that's exactly my problem
If I use part of the GUID that is generated and convert that to decimal. will that still be globaly unique?
|
|
|
|
|
SWDevil wrote: If I use part of the GUID that is generated and convert that to decimal. will that still be globaly unique?
No.
BTW why have you such a requirement constraint (just curious)?
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.
|
|
|
|
|
The requirement is a 64 char string.
But there is a first part that I have to include, and for the second part I have to generate a unique ID.
Both parts together should not be mopre than 64 chars.
|
|
|
|
|
BTW, do you really need a Global Unique Identifier?
GUID exist because ID creation must be shared (anyone may create his unique IDs via Guidgen) and not bound to a centralized mechanism
(as the one assigning car license numbers), do you have such a strict requirement?
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.
|
|
|
|
|
Could you get away with using a timestamp (probably including milliseconds?)
Thats nowhere _globally_ unique, but unique to every point in space. And maybe that is enough?
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"
|
|
|
|
|
I am thinking of using GetTickCount, but I understand that this might return a negative value? Is this true?
|
|
|
|
|
SWDevil wrote: ...GetTickCount...might return a negative value?
No. It returns a DWORD, that is unsigned.
It wraps around after 49,7 days, though.
Win95 used to crash after that uptime. Not that it was generally able to stay up that long without crash anyway.
time64 returns the seconds since UTC. It wraps around somtimes in the year 3000
If you really need, you could mix in the milliseconds since startup (GetTickCount)
time64 relies on the computers clock being set - tampering with the clock *could* make your UID non-unique. That may or may not be a problem.
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"
|
|
|
|
|
I am adapting for Visual C++ 2008 an old Borland C++ 4.5 program that contains many old-type string handling statements. The compiler tells me to "use _CRT_SECURE_NO_WARNINGS" to suppress warnings about strcpy and sprintf etc, but the online help gives no examples of its use. "#define _CRT_SECURE_NO_WARNINGS" has no effect. "_CRT_SECURE_NO_WARNINGS" (without quotes) alone on a line is treated as an undeclared variable. "#pragma _CRT_SECURE_NO_WARNINGS" causes a warning "unknown pragma". Please how do I put _CRT_SECURE_NO_WARNINGS in to suppress those warnings?
|
|
|
|
|
On my system (VS 2005), the following define (note: ends with DEPRECATE)
#define _CRT_SECURE_NO_DEPRECATE
works, while
#define _CRT_SECURE_NO_WARNINGS
not.
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.
|
|
|
|
|
Anthony Appleyard wrote: Please how do I put _CRT_SECURE_NO_WARNINGS in to suppress those warnings?
I put this in Project Properties --> C/C++ --> Preprocessor definitions.
Maxwell Chen
|
|
|
|
|
|
I got a "Database Timeout" error.
I m using an MFC application with MSDE database.
What can be the reason(s) for this??
|
|
|
|
|
wrong coding?
Greetings.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
|
|
|
|
|
yashveer wrote: What can be the reason(s) for this??
I suspect there is a problem with your code. I could be wrong, though.
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
|
Hi all,
I am trying to work with video files larger than 6GB. The MFC file classes use DWORD's for position and length, which limits them to 4GB. I knwo there are equivalents for routines like CFileFind::GetLength or CFile::GetPosition, etc. but I can't seem to find them. Does anyone have an idea?
Thanks in advance.
William
|
|
|
|
|
William Engberts wrote: CFileFind::GetLength or CFile::GetPosition, etc
U can use the API's directly.
GetFileSizeEx()<br />
SetFilePointerEx()
|
|
|
|
|
Not sure what version of VS you are using, but the file handing classes in the MFC (CFile etc) were updated to handle large file sizes. So the CFile::GetPosition() now returns a ULONGLONG, Seek() has a LONGLONG parameter...and so forth.
I now about the file limitation for VS6, but for the MFC 7.0 (VS7.1), these were updated.
I Dream of Absolute Zero
|
|
|
|
|
you may use CreateFileMapping and ViewMapOfFile to map such files into your process address,__int64 will be ok.
DWORD dwFileLo = ::GetFileSize(hFile,dwFileHi);
ASSERT(dwFileLo != INVALID_FILE_SIZE);
__int64 qwFileSize = dwFileHi << 32 | (dwFileLo & 0XFFFFFFFF);
Later buggers harm more.
|
|
|
|
|