以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]从一年前的版本升级到最新版,有段代码出了问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147257)

--  作者:huangfanzi
--  发布时间:2020/3/12 18:24:00
--  [求助]从一年前的版本升级到最新版,有段代码出了问题

最近才通过在线升级了FT高级开发版,然后只是换了个项目的启动画面Splash.jpg后发布了项目,代码什么也没改,原来项目中有个窗口,以有下代码:
AfterLoad
Dim dtb1 As New DataTableBuilder("生产计划投料")
dtb1.AddDef("选中标记", Gettype(Boolean))
dtb1.AddDef("库区", Gettype(String), 10)
dtb1.AddDef("捆包号", Gettype(String), 50)
dtb1.AddDef("类别", Gettype(String), 30)
dtb1.AddDef("标识", Gettype(String), 10)
dtb1.AddDef("牌号", Gettype(String), 30)
dtb1.AddDef("表面", Gettype(String), 10)
dtb1.AddDef("厚度", Gettype(Double))
dtb1.AddDef("宽度", Gettype(Double))
dtb1.AddDef("长度", Gettype(Double))
dtb1.AddDef("单位", Gettype(String), 10)
dtb1.AddDef("数量", Gettype(Double))
dtb1.AddDef("件数", Gettype(Integer))
dtb1.AddDef("产地", Gettype(String), 8)
dtb1.AddDef("HV状态", Gettype(String), 4)
dtb1.AddDef("HV值", Gettype(Double))
dtb1.AddDef("目前工序", Gettype(String), 30)
dtb1.AddDef("工序纪要", Gettype(String), 255)
dtb1.AddDef("物料记录标记", Gettype(String), 100)
dtb1.Build()
‘Tables("生产计划投料").Visible = False
Dim t1 As Table = e.Form.Controls("Table1").Table
Dim dt1 As DataTable = DataTables("生产计划录入模式窗口_Table1")
t1.DataSource = DataTables("生产计划投料")
t1.Cols("选中标记").Visible = False
t1.DataTable.GlobalHandler.BeforeShowContextMenu = True

Dim dtb2 As New DataTableBuilder("生产计划内容")
dtb2.AddDef("序号", Gettype(Integer))
dtb2.AddDef("计划工序", Gettype(String), 30)
dtb2.AddDef("工序描述", Gettype(String), 30)
dtb2.AddDef("分剪排刀", Gettype(String), 100)
dtb2.AddDef("宽度公差", Gettype(String),30)
dtb2.AddDef("生产备注", Gettype(String), 100)
dtb2.Build()
\'Tables("生产计划内容").Visible = False
Dim t2 As Table = e.Form.Controls("Table2").Table
Dim dt2 As DataTable = DataTables("生产计划录入模式窗口_Table2")
t2.DataSource = DataTables("生产计划内容")
t2.DataTable.GlobalHandler.DataRowAdded = True \'开启全局事件
t2.DataTable.GlobalHandler.KeyPressEdit = True \'开启全局事件
t2.Cols("计划工序").ComboList = _dt基础数据.SqlGetComboListString("内容" ," [类别] = \'计划工序\'")
t2.Cols("工序描述").ComboList = _dt基础数据.SqlGetComboListString("内容" ," [类别] = \'计划工序描述\'")
t2.Cols("宽度公差").ComboList = _dt基础数据.SqlGetComboListString("内容" ," [类别] = \'计划宽度公差\'")
DataTables("生产计划内容").DataCols("生产备注").ExtendType = ExtendTypeEnum.Values
t2.Cols("生产备注").ComboList = _dt基础数据.SqlGetComboListString("内容" ," [类别] = \'计划生产备注\'")
t2.Cols("序号").Width = 50
t2.Cols("计划工序").Width = 80
t2.Cols("工序描述").Width = 100
t2.Cols("分剪排刀").Width = 200
t2.Cols("宽度公差").Width = 100
t2.Cols("生产备注").Width = 200

AfterClose
DataTables.Unload("生产计划内容")
DataTables.Unload("生产计划投料")

以上代码已经正常运行了一年半了,用最新版的FT发布项目后,在关闭这个窗口(也就是执行了DataTables.Unload("生产计划内容"))时程序报错,截图如下,但表还是卸载了,我尝试着用之前备份过的未升级过FT发布的项目程序(Publish目录下的项目)运行一切正常,应该是FT开发软件升级造成的,请老师帮我看下,谢谢!

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/3/12 18:55:08编辑过]

--  作者:狐狸爸爸
--  发布时间:2020/3/12 20:55:00
--  
既然随窗口而生,随窗口而灭,那么你应该用BuildDataSource:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目97.foxdb





--  作者:huangfanzi
--  发布时间:2020/3/12 21:21:00
--  
可为什么之前一直没问题,升级到了20200119出现了问题呢?能有办法在不修改我现在代码的情况下把这二张表 卸载掉吗?
另外,升级到这个版本后,表的选定区域默认配色方案也变了,我现在是一张一张表单独设置,能有什么地方设置所有表的选定区 背景颜色与字体颜色的地方吗?
[此贴子已经被作者于2020/3/12 21:23:50编辑过]

--  作者:狐狸爸爸
--  发布时间:2020/3/12 21:38:00
--  
没有出问题,并非表示没有问题。
没有办法, 要一个一个去设置。