0 (zero) is not a valid timestamp
Hi all,
Delphi XE, EB 12.03
When I doubleclick on my tppReport Icon I get the error message "0 (zero) is
not a valid timestamp".
I click OK and doubleclick on the report again, and the report opens in
designer completely blank.
I close the report, and doubleclick again, and the report opens in the
designer OK.
Now all the reports works just fine in the designer, until I restart Delphi
XE. The first report I doubleclick on after restart gives me the error
message again.
Do anybody know how can I get rid of this error message?
John
Delphi XE, EB 12.03
When I doubleclick on my tppReport Icon I get the error message "0 (zero) is
not a valid timestamp".
I click OK and doubleclick on the report again, and the report opens in
designer completely blank.
I close the report, and doubleclick again, and the report opens in the
designer OK.
Now all the reports works just fine in the designer, until I restart Delphi
XE. The first report I doubleclick on after restart gives me the error
message again.
Do anybody know how can I get rid of this error message?
John
This discussion has been closed.
Comments
I first suggest upgrading to RB 12.04. Does this happen when opening
any report? If you create a simple new application, place a TppReport
on a form and double click it do you still get the error?
What type of database and connectivity are you using? Any more
information on your application would be helpful.
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
I have upgraded to RB 12.04, still same problem.
The problem happen no matter which report i open first, but it only
happens once pr. time I open the project.
If I create a new application and add a TppReport, I don't have the
problem.
I am using NexusDB 3.08 database. If I add a new TppReport and
TppDBPipeline to my existing project, set the datasource and
doubleclick on the report I get the error message.
Error report below:
0 (zero) is not a avalid timestamp.
[10788CAB]{NexusDB308sd150.bpl}
Nxsdnativevariantconverter.VariantToNative + $6B
[10789D10]{NexusDB308sd150.bpl}
Nxsdnativevariantconverter.VariantToNative + $524
[107897DF]{NexusDB308sd150.bpl}
Nxsdnativevariantconverter.VariantToNative + $27
[11CC7035]{NexusDB308db150.bpl} Nxdb.TnxSqlUpdateObject.suoWriteParams
+ $25D
[11CCA81D]{NexusDB308db150.bpl} Nxdb.TnxStatementDataSet.sdBuildParams
+ $C5
[11CC9E14]{NexusDB308db150.bpl} Nxdb.TnxStatementDataSet.dsOpenCursorID
+ $98
[5071F007]{dbrtl150.bpl} DB.TParam.SetAsVariant (Line 10962, "DB.pas" +
32) + $5
[11CC125F]{NexusDB308db150.bpl} Nxdb.TnxDataset.OpenCursor + $14F
[5071FFD1]{dbrtl150.bpl} DB.TDataSet.InitFieldDefs (Line 11429,
"DB.pas" + 5) + $7
[5070E76F]{dbrtl150.bpl} DB.TDefCollection.UpdateDefs (Line 3394,
"DB.pas" + 6) + $3
[5070F3A4]{dbrtl150.bpl} DB.TFieldDefs.Update (Line 3772, "DB.pas" + 1)
+ $A
[50720F86]{dbrtl150.bpl} DB.TDataSet.GetFieldNames (Line 11837,
"DB.pas" + 5) + $3
[0FED421F]{rbDB1215.bpl} Ppdbpipe.TppDBPipeline.GetFieldNames + $77
[0FB10E28]{rbRCL1215.bpl}
Ppdb.TppCustomDataPipeline.CreateDefaultFields + $8C
[0FB107E4]{rbRCL1215.bpl} Ppdb.TppCustomDataPipeline.GetFieldCount + $10
[0FC84CE3]{rbIDE1215.bpl} Pptreevw.TppFieldListBuilder.BuildList + $37
[0FC8650A]{rbIDE1215.bpl} Pptreevw.TppReportListView.BuildList + $3E
[0FC8648C]{rbIDE1215.bpl} Pptreevw.TppReportListView.SetCurrentObject +
$8
[0FC86FB8]{rbIDE1215.bpl}
Pptreevw.TppCustomReportExplorer.TreeViewAfterBuildEvent + $30
[0FC83FF1]{rbIDE1215.bpl} Pptreevw.TppReportTreeView.DoAfterBuildTree +
$15
[0FC84122]{rbIDE1215.bpl} Pptreevw.TppReportTreeView.BuildTree + $126
[0FC83F9A]{rbIDE1215.bpl} Pptreevw.TppReportTreeView.SetReport + $2E
[0FC86E76]{rbIDE1215.bpl} Pptreevw.TppCustomReportExplorer.SetReport +
$1E
[0FD41269]{rbIDE1215.bpl} Pptoolwntbx.TppDataTreeWindow.SetReport + $19
[0FD18F34]{rbIDE1215.bpl}
Ppdesigntoolwindow.TppDesignToolWindow.ehSelection_SelectReport + $4
[0F8C565F]{rbRTL1215.bpl} Ppmulticast.TppMulticastEvent.Notify + $27
[0FCEED92]{rbIDE1215.bpl}
Ppdesignselection.TppDesignSelection.SetReport + $AE
[0FCEEC06]{rbIDE1215.bpl}
Ppdesignselection.TppDesignSelection.SelectReport + $3E
[0FD2BADE]{rbIDE1215.bpl}
Ppdesignlayoutmanager.TppDesignLayoutManager.SetReport + $6E
[0FD2B859]{rbIDE1215.bpl}
Ppdesignlayoutmanager.TppDesignLayoutManager.SetComponent + $1D
[0FD2EC80]{rbIDE1215.bpl} Ppdsgner.TppDesignerWindow.SetReport + $6C
[0FD2E847]{rbIDE1215.bpl} Ppdsgner.TppDesignerWindow.SetComponent + $43
[0F843B38]{dclRBP1215.bpl} Ppcdshow.ppShowComponentDesigner + $198
[0F847FCE]{dclRBP1215.bpl} Ppproped.TppComponentEditor.Edit + $26
[21086721]{designide150.bpl} ComponentDesigner.TInternalItem.Edit (Line
7094, "ComponentDesigner.pas" + 1) + $F
[2104EFEC]{designide150.bpl} Designer.TDesigner.Edit (Line 964,
"Designer.pas" + 0) + $4
[21051263]{designide150.bpl} Designer.TDesigner.MouseDown (Line 1658,
"Designer.pas" + 45) + $6
[51B191E1]{vcldesigner150.bpl} VCLSurface.TComponentToolWindow.WndProc
(Line 1327, "VCLSurface.pas" + 16) + $32
[51B19C7E]{vcldesigner150.bpl} VCLSurface.TContainer.WndProc (Line
1627, "VCLSurface.pas" + 39) + $6
[10BF33F1]{cxLibraryD15.bpl}
Cxcontainer.TcxCustomInnerListBox.CNDrawItem + $695
[51B19003]{vcldesigner150.bpl}
VCLSurface.TDesignerToolWindow.MainWndProc (Line 1262, "VCLSurface.pas"
+ 2) + $7
[500AFA64]{rtl150.bpl } Classes.StdWndProc (Line 13491, "Classes.pas"
+ 8) + $0
[50278AA6]{vcl150.bpl } Controls.FindControl (Line 3378,
"Controls.pas" + 6) + $9
[50358AF7]{vcl150.bpl } Forms.TApplication.ProcessMessage (Line 9760,
"Forms.pas" + 23) + $1
[50358B3A]{vcl150.bpl } Forms.TApplication.HandleMessage (Line 9790,
"Forms.pas" + 1) + $4
[50358E65]{vcl150.bpl } Forms.TApplication.Run (Line 9927, "Forms.pas"
+ 26) + $3
According to the call stack the issue occurs in NexusDB.
The last RB code to execute is TppDBPipeline.GetFieldNames. Start at that
call and read up.
TppDBPipeline.GetFieldNames calls TDataSet.GetFieldNames, which calls some
other TDataSet methods and then eventually Nexus classes are called. The
last call is Nxsdnativevariantconverter.VariantToNative.
From the name of the last method, my guess is that you have 0 stored in the
database and Nexus tries to convert the 0 to a timestamp and raises an
exception.
Try creating a test that uses NexusDB but not RB. Create a new application,
place the NexusDB components on the form and connect a DBGrid. Open the
dataset.
-
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
I created a new Project, with same database components and the same
Query. No problems with a standard grid, data shows just fine.
I added a TppReport and TppDBPipeline to the same dataset, and no
errors here either.
Can the problem I see here have anyting to do with Delphi XE compared
to Delphi 7 from which I upgraded my Project?
I went from Delphi 7 to XE at the same time as I upgraded to RB 12.03
and Nexus 3.08.
--
that is where I would focus. Perhaps you moved to a different version of
NexusDB or perhaps they have a different code base for Delphi XE. It is
interesting that creating a new dataset does not cause the issue, I would be
sure to mention that to them and to show them the call stack. Perhaps they
have heard of this error before.
-
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com