Foxtable(狐表)用户栏目专家坐堂 → 新版请教


  共有2272人关注过本帖树形打印复制链接

主题:新版请教

帅哥哟,离线,有人找我吗?
hbhb
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
新版请教  发帖心情 Post By:2016/3/28 19:29:00 [只看该作者]

大师:终于发现问题了,新版本打开老项目后,发现只要修改项目事件,如准备加载内部表时执行事件,重新打开项目后,有些表主键就没有了。为何??

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 19:54:00 [只看该作者]

1、升级到最新版;

 

2、删除bin文件夹;

 

3、具体做例子发上来测试。


 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2016/3/28 20:14:00 [只看该作者]

有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。

************** 异常文本 **************
System.NullReferenceException: 未将对象引用设置到对象的实例。
   在 Foxtable.Col.get_AllowEdit()
   在 Foxtable.oOO   o .o_Oo_O__(Object A_0, RowColEventArgs A_1, RecordGrid A_2)
   在 Foxtable.oOO   o .o    O O(Object A_0, RowColEventArgs A_1)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.OnBeforeEdit(RowColEventArgs e)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.#ndb(Int32 #j, Int32 #l)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.DrawCell(Graphics #AA, Int32 #j, Int32 #l, Style #aE, Rectangle #o5, String #gM, Image #Ak, CheckEnum #bdb)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.DrawCell(PaintEventArgs e, Int32 row, Int32 col)
   在 C1.Win.C1FlexGrid.C1FlexGrid.DrawCell(PaintEventArgs e, Int32 row, Int32 col)
   在 C1.Win.C1FlexGrid.C1FlexGrid.DrawRow(PaintEventArgs e, Int32 row)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.#adb(PaintEventArgs #tQ)
   在 C1.Win.C1FlexGrid.C1FlexGridBase.OnPaint(PaintEventArgs e)
   在 System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer, Boolean disposeEventArgs)
   在 System.Windows.Forms.Control.WmPaint(Message& m)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 C1.Win.C1FlexGrid.Util.BaseControls.ScrollableControl.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 20:15:00 [只看该作者]

 上传实例。

 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2016/3/28 20:37:00 [只看该作者]

请问:这是什么原因?
老版本在准备加载内部表时的执行事件中,有条件加载表的代码。在新版本中取消此事件的代码后,加载的表部分就没有主键了。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 20:39:00 [只看该作者]

贴出代码,最好上传项目。

 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2016/3/28 20:50:00 [只看该作者]

老版本中BeforeLoadInnerTable的代码为:
e.HideSplashForm = True
If e.DataTableName = "表a" Or e.DataTableName = "jcsjdatatable" Or e.DataTableName = "任务主表" Then
    e.Cancel = False
Else
    e.Cancel = True
End If

计划中代码
If DataTables.Contains("zba") = False Then
    Functions.Execute("datatablesload","zba")
End If

If DataTables.Contains("zaa") = False Or DataTables.Contains("zab") = False  Then
    DataTables.Load("zaa|zab")   ‘---关联表
End If
If DataTables.Contains("zac") = False Or DataTables.Contains("zad") = False  Then
    DataTables.Load("zac|zad")
End If
If DataTables.Contains("dttzfl") = False Or DataTables.Contains("dttzflmxb") = False  Then
    DataTables.Load("dttzfl|dttzflmxb")
End If
If DataTables.Contains("hbdttzfl") = False Or DataTables.Contains("hbdttzflmxb") = False  Then
    DataTables.Load("hbdttzfl|hbdttzflmxb")
End If


Dim kz As String
Dim bjh As new List(of String)
bjh = DataTables("jcsjdatatable").GetValues("dstatablename","dstatablename is not null","_sortkey")   ’---获取所有表的集合
For Each bj As String In bjh
    If bj <> "zab"  And bj <> "zad" And bj <> "zaa" And bj <> "zac" And bj <> "zba" And bj <> "dttzfl" And bj <> "dttzflmxb" And bj <> "hbdttzfl" And bj <> "hbdttzflmxb"    Then
        If DataTables.Contains(bj) = False Then
            Functions.Execute("datatablesload",bj)
        End If
    End If
    kz = bj
Next

If kz = bjh(bjh.Count - 1) Then
    MyTimers("loaddatatable").Enabled = False
End If


在新版本中,删除计划中的代码,删除BeforeLoadInnerTable中的代码。
请问某些表主键就没有了。

老版本就没有问题?????






 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 20:53:00 [只看该作者]

 你把计划任务里面的代码去掉呢?特别是和 jcsjdatatable 相关的。

 

 你能不能做个具体的例子发上来。


 回到顶部
帅哥哟,离线,有人找我吗?
hbhb
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5061 积分:13092 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2016/3/28 20:54:00 [只看该作者]

新版本如果不改动,运行就没有问题。老版本改动与不改动都没有问题?究竟为何?

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/28 20:56:00 [只看该作者]

 看8楼。

 回到顶部
总数 21 1 2 3 下一页