1、 XML文件数据的读取
Dim ds AsNew DataSet
ds.ReadXml("http://192.168.100.98/djcj/PlugIns.Xml") ‘也可以是本地及局域网XML文件。
XML文件中的根节点为DatasetName,子节点为表名,子节点一下的几个项目为列名;每一个子节点为一行。。
如:
<?xml version="1.0" encoding="utf-8" ?>
<PlugIns>‘根节点
<PlugIn>‘子节点
<Name>测试用品</Name>子节点内项目
<File>Plugs1.dll</File>
</PlugIn>
<PlugIn>
<Name>测试用品2</Name>
<File>Plugs2.dll</File>
</PlugIn>
</PlugIns>
2、 调用系统默认关联程序打开文档或URL
System.Diagnostics.Process.Start("http://192.168.100.98/djcj/dlls/")
3、 查找程序是否运行
Dim prc() As Process = Process.GetProcesses
ForEach pr As Process In prc
If pr.ProcessName = "ptfp"Then
MsgBox("发票程序正在运行,请先退出!")
ExitSub
EndIf
Next
4、 插件自动更新的一个折中解决方法
版本号内嵌插件中,通过与网络的XML版本号比较,决定下载与否;下载时先将旧版插件改名(因为被进程使用不能删除但可以改名),然后下载更新,运行插件前记得要先删除改名后的插件。缺点是必须重新启动程序。若要实现不关闭程序进行更新,要使用APPDomain类
5、 多Panel容器的DOCK与放置层有关(置顶置底)
需要通过设计界面的右键-置于底层、置于顶层来进行设置Panel容器的顺序从而实现按要求放置控件DOCK。
6、 IsNumeric函数的问题
判断某字符串是否数字时,若用IsNumeric函数,则一些全角数字或者字符d、h等均会返回为True。因此在SQL插入或修改操作中会出错。稳妥的做法是如下:
Try
dd = Double.Parse(strColV(i))
Catch ex As Exception
MsgBox("输入数据有误,可能是非数值!")
ExitSub
EndTry