Страница 1 из 1

Непонятки с переменными...

Добавлено: 02 май 2007, 10:49
Валерий В. Шинкевич
Добавил в дизайнере в отчет переменные типа Datetime(nullable).

Следующий код вываливается с ошибкой

report.Load(@"D:\NewProject\......Report.mrt");

report["endDate"] = report["beginDate"] = Common.WorkingDate.Date;


A first chance exception of type 'System.FieldAccessException' occurred in Stimulsoft.Report.dll
'Project2006.exe' (Managed): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\System.Transactions.resources\2.0.0.0_ru_b77a5c561934e089\System.Transactions.resources.dll', No symbols loaded.
System.Transactions Critical: 0 : http://msdn.microsoft.com/TraceCodes/Sy ... работанное исключениеProject2006.exeSystem.FieldAccessException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089Field 'beginDate'not found в Stimulsoft.Report.StiReport.set_Item(String name, Object value)
в Project2006.MainForm.repordDesignToolStripMenuItem_Click(Object sender, EventArgs e) в D:\NewProject\Project2006\Project2006\Forms\MainForm.cs:строка 287
в System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
в System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
в System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
в System.Windows.Forms.ToolStrip.WndProc(Message& m)
в System.Windows.Forms.MenuStrip.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.Run(Form mainForm)
в Project2006.Program.Main() в D:\NewProject\Project2006\Project2006\Program.cs:строка 121System.FieldAccessException: Field 'beginDate'not found
в Stimulsoft.Report.StiReport.set_Item(String name, Object value)
в Project2006.MainForm.repordDesignToolStripMenuItem_Click(Object sender, EventArgs e) в D:\NewProject\Project2006\Project2006\Forms\MainForm.cs:строка 287
в System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
в System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
в System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
в System.Windows.Forms.ToolStrip.WndProc(Message& m)
в System.Windows.Forms.MenuStrip.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.Run(Form mainForm)
в Project2006.Program.Main() в D:\NewProject\Project2006\Project2006\Program.cs:строка 121



Непонятки с переменными...

Добавлено: 02 май 2007, 10:51
Валерий В. Шинкевич
Далее открываю отчет в дизайнере и пытаюсь в словаре изменить переменную beginDate
При клике на "Изменить" вываливаюсь:

2007:05:02, 14:40: StiReport: Starting report designer
2007:05:02, 14:41: StiReport: Starting report designer...ERROR
2007:05:02, 14:41: StiReport: Method : [ciEdit_Click] : В экземпляре объекта не задана ссылка на объект.
====================================================
в Stimulsoft.Report.Design.Panels.StiDictionaryPanelService.ciEdit_Click(Object sender, EventArgs e)
в System.Windows.Forms.MenuItem.OnClick(EventArgs e)
в System.Windows.Forms.MenuItem.MenuItemData.Execute()
в System.Windows.Forms.Command.Invoke()
в System.Windows.Forms.Command.DispatchID(Int32 id)
в System.Windows.Forms.Control.WmCommand(Message& m)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.TreeView.WndProc(Message& m)
в Stimulsoft.Controls.StiTreeView.WndProc(Message& msg)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
в System.Windows.Forms.Form.ShowDialog()
в Stimulsoft.Report.StiReport.StartDesigner(StiReport report, Form parentForm, Boolean dialogForm)
====================================================
A first chance exception of type 'System.NullReferenceException' occurred in Stimulsoft.Report.dll
System.Transactions Critical: 0 : http://msdn.microsoft.com/TraceCodes/Sy ... работанное исключениеProject2006.exeSystem.NullReferenceException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089В экземпляре объекта не задана ссылка на объект. в Stimulsoft.Report.Design.Panels.StiDictionaryPanelService.ciEdit_Click(Object sender, EventArgs e)
в System.Windows.Forms.MenuItem.OnClick(EventArgs e)
в System.Windows.Forms.MenuItem.MenuItemData.Execute()
в System.Windows.Forms.Command.Invoke()
в System.Windows.Forms.Command.DispatchID(Int32 id)
в System.Windows.Forms.Control.WmCommand(Message& m)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.TreeView.WndProc(Message& m)
в Stimulsoft.Controls.StiTreeView.WndProc(Message& msg)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
в System.Windows.Forms.Form.ShowDialog()
в Stimulsoft.Report.StiReport.StartDesigner(StiReport report, Form parentForm, Boolean dialogForm)
в Stimulsoft.Report.StiReport.Design(Form parentForm, Boolean dialogForm)
в Stimulsoft.Report.StiReport.Design(Boolean dialogForm)
в Stimulsoft.Report.StiReport.Design()
в Project2006.MainForm.repordDesignToolStripMenuItem_Click(Object sender, EventArgs e)
в System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
в System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
в System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
в System.Windows.Forms.ToolStrip.WndProc(Message& m)
в System.Windows.Forms.MenuStrip.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.Run(Form mainForm)
в Project2006.Program.Main()System.NullReferenceException: В экземпляре объекта не задана ссылка на объект.
в Stimulsoft.Report.Design.Panels.StiDictionaryPanelService.ciEdit_Click(Object sender, EventArgs e)
в System.Windows.Forms.MenuItem.OnClick(EventArgs e)
в System.Windows.Forms.MenuItem.MenuItemData.Execute()
в System.Windows.Forms.Command.Invoke()
в System.Windows.Forms.Command.DispatchID(Int32 id)
в System.Windows.Forms.Control.WmCommand(Message& m)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.TreeView.WndProc(Message& m)
в Stimulsoft.Controls.StiTreeView.WndProc(Message& msg)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Form.ShowDialog(IWin32Window owner)
в System.Windows.Forms.Form.ShowDialog()
в Stimulsoft.Report.StiReport.StartDesigner(StiReport report, Form parentForm, Boolean dialogForm)
в Stimulsoft.Report.StiReport.Design(Form parentForm, Boolean dialogForm)
в Stimulsoft.Report.StiReport.Design(Boolean dialogForm)
в Stimulsoft.Report.StiReport.Design()
в Project2006.MainForm.repordDesignToolStripMenuItem_Click(Object sender, EventArgs e)
в System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
в System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
в System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
в System.Windows.Forms.ToolStrip.WndProc(Message& m)
в System.Windows.Forms.MenuStrip.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
в System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
в System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
в System.Windows.Forms.Application.Run(Form mainForm)
в Project2006.Program.Main()

Непонятки с переменными...

Добавлено: 02 май 2007, 11:15
Валерий В. Шинкевич
хэхэ... разобрался - в первом случае - забыл report.Compile(); перед присвоением значения....
а вот второй эксепшин вылазит всегда если пытаешься изменить переменную с типом datetime (nullable)



Непонятки с переменными...

Добавлено: 03 май 2007, 05:24
Edward
wash_ai писал(а):изменить переменную с типом datetime (nullable)
Эта проблема исправлена в версии 2007.1

Спасибо.

Непонятки с переменными...

Добавлено: 03 май 2007, 08:54
Валерий В. Шинкевич
Эта проблема исправлена в версии 2007.1
не знаю насчет 2007.1, но у меня стоит Version: 2007.2 from 25 April 2007

Непонятки с переменными...

Добавлено: 03 май 2007, 12:48
Валерий В. Шинкевич
и еще ...
при таком добавлении переменной
Report.Dictionary.Variables.Add("beginDate", beginDate.Date);
Report.Dictionary.Variables.Add("endDate", endDate.Date);
не проверяется наличие этих переменных и при повторном выполнении эти двух строчек просто добавляется еще две переменные. и в словаре будет уже две переменные с одинаковым именем, но, возможно с разными зеначениями...

может оно так и задумано, но по-моему более ожидаемое поведение в данном случае - либо exception, либо (что на мой взгляд удобнее) перезапись уже существующей переменной с новым значением

Непонятки с переменными...

Добавлено: 03 май 2007, 17:26
Валерий В. Шинкевич
и если есть такое определение метода:
Report.Dictionary.Variables.Add(string name, object value)

то насколько я понимаю, следующий код должен работать
Report.Dictionary.Variables.Add("beginDate", beginDate.Date);
но в дествительности работает только так
Report.Dictionary.Variables.Add("beginDate", typeof(DateTime));
Report["beginDate"] = beginDate.Date;
почему ?

Непонятки с переменными...

Добавлено: 03 май 2007, 22:41
Vital
Спасибо за подробные описания проблем. Патч будет доступен в билде от 5 мая.