|
There's really not any way of knowing that, since the compiler simply creates .obj files from your .cpp files. You don't technically have a project until those .obj files are all linked together into a single .exe or .dll file. That file, however, does contain a time stamp.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
The problem i am facing is when i submit a button on a web page an ajax java script is called due to which i am not able to get "action" value which is a URL of submit button as a CString rather its returning [object]due to VT_DISPATCH type.
Can any one let me know how to convert VT_DISPATCH into CString or VT_BSTR so that i can get action value as a CString and not the value as [object].
Plsssssss help me out.
Dhiraj Kumar Saini
|
|
|
|
|
Hi
I open a DB connection using the _ConnectionPtr pointer. After using the connection I call the Close() and set the pointer to NULL. When I set the pointer to NULL an exception is generated. Pleae let me know is it really required to set the object to NULL after Close().
Thanks in Advance
|
|
|
|
|
Can you provide the relevant code snippet?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
COleDateTime showing assertion while try to represend the year less than 1900 if any one knows pls help me......
|
|
|
|
|
Did you see MSDN how did you use it:
The DATE type is implemented as a floating-point value, measuring days from midnight, 30 December 1899. So, midnight, 31 December 1899 is represented by 1.0. Similarly, 6 AM, 1 January 1900 is represented by 2.25, and midnight, 29 December 1899 is – 1.0. However, 6 AM, 29 December 1899 is – 1.25.
|
|
|
|
|
I use the code like
COleDateTime dt(nYear,nMonth,nDay,nHour,nMin,nSec);;
dt.Format(%d %B %Y - %X);
for display 03 September 2007 - 12:49:38
if the year is less than 1899 . It will lead the assertion
|
|
|
|
|
what happens if you run these code?
COleDateTime mytime(1996,1,1,0,0,0);
COleDateTime mytime2(1600,3,31,15,30,10);
|
|
|
|
|
Viknaraj R wrote: if the year is less than 1899 . It will lead the assertion
So what's the problem? It's doing exactly what it is supposed to. A value of 1.0 (COleDateTime 's internal value) represents 31-Dec-1899 00:00:00. A value of -365.0 represents 30-Dec-1898 00:00:00.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
DavidCrow,
Do you know what's up with this? Am I missing some reason that it would work fine for me?
I'm on VS2005, SP1 - where the OP says it fails
Thanks,
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
With VS6, COleDateTime behaves exactly as documented.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Heh. Most things do. I know the class has been changed since that version but the OP
claims it works on VC6 and not on 2005. I'm not buying it
Thanks,
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Mark Salsbery wrote: I know the class has been changed since that version...
Yes, and was apparently not received well. See here for more. Perhaps you have the patch and the OP does not.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Interesting link, thanks.
I guess all I can say is that it still works as documented. I see no documentation that states
years < 1900 will fail. I have installed no patches or hotfixes....it must have been rolled into SP1.
When I used Borland/OWL I needed a datetime class that I could use into the future (persisted
in database) so I stumbled across COleDateTime. I ripped the code out of MFC 4 and renamed it
to TOleDateTime (I had MSDN and I knew I was migrating to MFC at that point). I had my own
little fixes in there to get it to work for the range of dates it's supposed to work with,
along with some other known issues at the time (that I no longer remember).
I used that class up until about 6 months ago, when I accidentally stumbled across
some link or text about it being "fixed". I again ripped the code and temporarily renamed it
to the old TOleDateTime, which I still used. It worked great...TOleDateTime is now gone and
I use the ATL COleDateTime. LOL Interesting story? I think not
Whatever - it works as advertised documented for me.
Thanks man!
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
What does the "T" stand for in Borland's classes?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
|
Viknaraj R wrote: if the year is less than 1899 . It will lead the assertion
I get no assertion with this:
COleDateTime dt(1600,3,31,15,30,10);
CString datetimestr = dt.Format(_T("%d %B %Y - %X"));
From the docs: "The COleDateTime class handles dates from 1 January 100 – 31 December 9999"
Are you sure something isn't wrong somewhere else?
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
COleDateTime dt(1600,3,31,15,30,10);
CString datetimestr = dt.Format(_T("%d %B %Y - %X"));
I run the same code that cause the error in visual studio 2005 but in vc6 it works.
|
|
|
|
|
I was testing on VS 2005 and it works. You've included ATLComTime.h, right?
You should be able to tell from the assertion why it's not working.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
hi
_tcsftime(lpszTemp, strDate.GetLength(), pFormat, &tmTemp) has an assertion tm_year >= 0 so for every year less than 1900 it will throw assertion
////////////////////////////////////////////////////////////////////////
IN COleDateTime::Format(LPCTSTR pFormat) follwing Code is there
struct tm tmTemp;
tmTemp.tm_sec = ud.st.wSecond;
tmTemp.tm_min = ud.st.wMinute;
tmTemp.tm_hour = ud.st.wHour;
tmTemp.tm_mday = ud.st.wDay;
tmTemp.tm_mon = ud.st.wMonth - 1;
tmTemp.tm_year = ud.st.wYear - 1900;
tmTemp.tm_wday = ud.st.wDayOfWeek;
tmTemp.tm_yday = ud.wDayOfYear - 1;
tmTemp.tm_isdst = 0;
CString strDate;
LPTSTR lpszTemp = strDate.GetBufferSetLength(256);
_tcsftime(lpszTemp, strDate.GetLength(), pFormat, &tmTemp);
////////////////////////////////////////////////////////////////////////
Viknaraj
|
|
|
|
|
I just traced into that method with the same code.
Although tmTemp.tm_year is negative at the call to _tcsftime(), it still formats a proper string.
No assertion.
Also, you didn't show any code that has ASSERT in it.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Thanks for your valuable cooperation. The follwing code shows is assertion message box
File : strftime.c
Line:783
Expression :(timeptr->tm_year>=0)
case('Y'): /* year w/ century */
{
assertion is occured b>_VALIDATE_RETURN( ( timeptr->tm_year >=0 ), EINVAL, FALSE)
temp = (((timeptr->tm_year/100)+19)*100) +(timeptr->tm_year%100);
/* pass alternate_form as the no leading zeros flag */
_store_num(temp, 4, string, left, alternate_form);
break;
}
|
|
|
|
|
It seems years <1900 do not work (for Format()) in VC 6. In VC 8 it works fine.
I'm not sure what else to tell you besides it works as documented.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
In my SDI application (VC 2003), I get the start point from LButton Down and eEnd point from LButton Up and draw a line using MoveTo and LineTo. I add the line info (from and to points) onto a CTypePtrArray list.
All I want is if I hover over a drawn line, I should have a tooltip giving me
info pertaining to that line.
I think, the approach that I should follow is generate a small region surrounding( a rectangle) the line and if the mouse hovers over that area, I run through the Line array list and see if the current mouse position is with the specified area of a line and if yes display the tooltip info about that line.
Could anybody guide me with respect to the above requirment?
|
|
|
|
|