|
why dialog box ID is enumerated as the IDD member? Is there any special reason that it is enumerated?
KIRAN PINJARLA
|
|
|
|
|
Because macros suck, unless there in no better solution. In this case there is. For example, macros can't be class members but an enum can (and in this case is).
Steve
|
|
|
|
|
Stephen Hewitt wrote: Because macros suck,
Why? If we use macros carefully they are very helpful. Mainly because of irrational use most of the BUGs happen. For me macros are indispensable.
|
|
|
|
|
As I said, if there is no better solution macros are fine. But there are many problems with them and they’re overused by many C/C++ programmers. Some of the problems with them are:
- Can’t be overloaded.
- Make debugging harder.
- Don’t obey C/C++ scoping rules.
- Can cause nasty side effects.
All of these problems with macros – and more besides – are well known.
Steve
|
|
|
|
|
Stephen Hewitt wrote: - Can’t be overloaded.
They are not meant to be overloaded. If that's the purpose there are functions we should use them.
Stephen Hewitt wrote: - Make debugging harder.
TRUE.
Stephen Hewitt wrote: - Don’t obey C/C++ scoping rules.
Macros were not made for this purpose. They acts as just pure inline code replacement routine. If not used carefully ....
Stephen Hewitt wrote: - Can cause nasty side effects.
TRUE. They should be extremely well written.
|
|
|
|
|
Not exactly sure, but I think has mostly to do with the wizards that create the dialog classes, because as far as I can tell, IDD is is only passed to the constructor of CDialog as the resource ID. I could be way wrong of course...
- S
50 cups of coffee and you know it's on!
|
|
|
|
|
It's how the Class Wizard recognises and remembers which classes are tied to which dialogs. If you remove that line, Class Wizard won't recognise which dialog belongs to the class any more.
|
|
|
|
|
Yup, and this now ties the resource file (with every resource) to the header, so any user of the header had to re-compile, any time any resource element changes, no matter how unrelated....
|
|
|
|
|
I have a simple client-server socket application. After the client runs for a while (2/3 days) the client machine gets to a state where it cannot make any outbound tcp/ip connections (i.e., browser, http requests, etc).
Once I restart the client (running as a service) then everything seems to work fine. I ran the scoket code through BoundsChecker to look for any memory or resource leaks and didnt find any. Has anyone here faced this or a similar issue?
Any help would be greatly appreciated.
TIA
|
|
|
|
|
when it blocks check with netstat and see if you have sockets still open
|
|
|
|
|
|
U can use API to do so
I right now dont remeber the exact API
Tell u Later
bye
pitchu
|
|
|
|
|
Do you need to transparent window ?
|
|
|
|
|
You need to use Layered windows for this purpose.
Search CP for WS_EX_LAYERED , you will get lot of articels, that states how to achieve this.
|
|
|
|
|
what u said appears to work only in windows2000 or above
|
|
|
|
|
Yes.
Are people still using OS before that ?
|
|
|
|
|
Is there a Win32 API for parsing a string that represents a date/time value and getting back a SYSTEMTIME or something similar?
I found VarDateFromStr but I notice that it appears to cause access violations on certain unpatched systems, so I'm reluctant to use it.
|
|
|
|
|
Did a bunch of research on this, back in July, and VarDateFromStr is the best I could come up with.
For the VCF:
DateTime Win32LocalePeer::toDateTime( const UnicodeString& str )
{
DateTime time;
DATE dtSrc;
unsigned short* data = (unsigned short*)str.data();
HRESULT hr = ::VarDateFromStr(data, LANG_USER_DEFAULT, 0, &dtSrc);
if (SUCCEEDED( hr ))
{
struct tm newTime;
SYSTEMTIME st;
if( VariantTimeToSystemTime(dtSrc, &st) )
{
newTime.tm_sec = st.wSecond;
newTime.tm_min = st.wMinute;
newTime.tm_hour = st.wHour;
newTime.tm_mday = st.wDay;
newTime.tm_mon = st.wMonth;
newTime.tm_year = st.wYear;
newTime.tm_wday = st.wDayOfWeek;
newTime.tm_isdst = -1; // Force DST checking
mktime(&newTime); // Normalize
time.set(newTime.tm_year, newTime.tm_mon, newTime.tm_mday, newTime.tm_hour, newTime.tm_min, newTime.tm_sec);
}
}
return time;
}
Haven't run into any problems with it in production code (yet!), but will keep my eye out for any access violations.
- S
50 cups of coffee and you know it's on!
|
|
|
|
|
Steve, are you using the VCF? In production code? That's awesome!
|
|
|
|
|
Using the VCF and loving it! Had to make a few modifications, but so far it's working great! I guess I use the term "production" a bit loosely, as it's still very much in beta, and only a few people have downloaded it.
This is sort of my VCF pet project (still got a ways to go...):
http://www.riptrails.com/downloads.asp[^]
- S
50 cups of coffee and you know it's on!
|
|
|
|
|
Holy crap that's totally cool! You should post something on the VCF boards! If you can't or don't have the time, do you mind if I do?
Do you know of anyone else using it? I had no idea about this!!
|
|
|
|
|
Sweet! Thanks, and thanks for the VCF! It rocks!
I was going to post some screen shots on the VCF forums, but got side tracked, so you're more than welcome to do that if you'd like.
The only people I know who are using it are a few of my slacker friends and a couple of relatives. I'm trying to get them to beta test it, but they're, ummm, slackers.
- S
50 cups of coffee and you know it's on!
|
|
|
|
|
Greetings Good People,
I am trying to get my "Output" control (i.e. similar to the Visual Stuido output window at the bottom) to show at the top of the MainFrame. I gave it the style CBRS_TOP (of course), for it to display at the top. However, when I run the software, I noticed that it is momentarily placed on the top until the ChildFrame pushes it to the bottom once it is dispalyed. How do I get the ChildFrame to behave and display underneath the "Output" control? Also, is there an easy way to arrange my controls so that I can place two on the left (i.e. each taking up half the space), one big one in the middle underneath a smaller control, and possibly another one on the right?
Any help or pointing to a resource that helps answer my question would be greatly appreciated.
Thanks,
BP
|
|
|
|
|
I am writing a POS (point of sale) type application. How do I cut short through all the MFC pallaver about formatting, and output say 80 colum text onto a generic dot matrix printer.
-
Location of Printer, and capabilities of printer to be found
either in Registry, or in an INI type file. Definitely NO choice by user of any features, such as choice or printing format!
-
Only four possible error contitions: ERR_PRINTERNOT_FOUND, ERR_PRINTER_NO_PAPER, ERR_PRINTER_NO_INK, ERR_PRINTER_MECHANICAL_FAILURE.
regards
LateNightsInNewry
|
|
|
|
|
I would like to know if MS Visual C++ is able to select the variables within a project that would be able to be monitored and logged into a file for each step?
For e.g. if I wanted to monitor a number of variables with in a for loop over the multiple iterations of the loop, would it be possible for me to view some selected variables and get the MS Visual C++ debugger to store the values in a text document?
|
|
|
|