本次更新主要是针对高端用户的,普通用户了解一下如何在全局代码中定义变量即可(绿色字体部分):
1、增加了引用外部库的功能(这里必须是托管的DLL,也就是.net下编译的DLL),对于非系统的DLL文件,以前库文件只需复制到Foxtable目录下即可,现在除了复制,还得引用;除了引用的功能,还增加了命名空间的定义。以lxl斑竹提供的库为例:
此主题相关图片如下:002.gif

此主题相关图片如下:001.gif

一旦加上了引用,就可以直接在代码中使用改库的功能:
Dim app As New Office.Excel.Application
Dim book As Office.Excel.Workbook = app.Workbooks.Open("C:\112.xls")
Dim sheet As Office.Excel.Worksheet = book.Sheets.Item(1)
app.Visible = True
sheet.PrintPreview()
book.Close()
app.Quit()
2、增加全局代码的功能:
此主题相关图片如下:003.gif

你可以在这里定义API函数,例如:
Declare Function getUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, ByRef nSize As Integer) As Integer
<DllImport("kernel32.dll", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.Cdecl)> _
Public Function lstrlenA(ByVal InString As String) As Integer
End Function
如果不是系统的,而是第三方的DLL,请事先将其复制到foxtable目录下。
一旦定义了,就可以直接在任何地方使用上面的API函数,例如:
Return lstrlenA("ABC")
Foxtable的全局变量定义和使用都不便利,而且不是所有的事件都能引用,现在你可以在全局代码中定义变量,用Public代替Dim,这样定义的变量可以在任何事件代码中引用,例如:
Public gbStartDate As Date
Public gbEndDate As Date
这样就定义了两个日期型全局变量,分别为gbStartDate 和 gbEndDate ,你可以在任何事件代码中直接使用,例如:
MessageBox.show("起始日期:" & gbStartDate)
为了避免全局变量和事件中定义的变量出现名称冲突,建议全局变量统统用gb开头。
全局代码中不仅可以定义变量和API函数,还可以直接定义过程或者函数,例如:
Public Function LenStr(ByVal val As String) As Integer
Dim b() As Byte = System.Text.Encoding.ASCII.GetBytes(val)
Return b.Length
End Function
定义好之后,你可以在任何事件代码中使用这个函数:
MessageBox.show(lenstr("ren们"))
3、虽然原有的全局变量不够便利,但是可以绑定,而且有事件跟踪其值的变化,所以不仅不会淘汰的,还增加了一个统一定义的界面:
此主题相关图片如下:004.gif

请不要再使用Vars.Add方法来增加变量,以便于管理。
4、开发接口
DataTable有一个BaseTable属性,返回底层的System.Data.DataTable对象
Table有一个View属性,返回底层的System.Data.DataView对象。
Table有一个Grid属性,返回底层的
C1.Win.C1FlexGrid.C1FlexGrid对象
所有的控件都有一个BaseControl属性,返回其对应的System.Windows.Forms.Control对象
窗口有一个Panel对象,返回一个Foxtable.FormPanel容器,窗口所有的控件都在这个容器中
对于模式窗口和独立窗口,可以通过窗口的BaseForm属性,返回对应的
Windows.Forms.Form对象
有了这些接口以及前面提到的引用功能,就可以无穷无尽的扩展foxtable的功能。
例如你可以加入第三方的控件,并帮定到foxtable中的表。
提示:最好在窗口的BeforeClose事件中,将第三方控件移除并销毁。
如果要使用第三方的开发工具,请引用foxtable.exe和foxtable.lib.dll,这两个文件包括foxtable所有公开的类型
5、修正了一些bug
[此贴子已经被作者于2009-12-8 12:16:59编辑过]