追加程序的开发
Q: 单单通过设定参数,仍然无法实现的要求怎么办?
A: 生产计划排程软件启动时,建议只通过参数设定启动。但是有时候只通过设定参数设备却无法满足用户要求。那时候首先研究通过运用该软件是否可以解决该问题。
如果还是不行我们再研究开发程序。我们为什么推荐用户这样做呢?那是因为参数设定与程序开发有很大的不同。程序开发虽然可以说只要开发什么都可以做到但是具有如下风险:
●除了需要花销开发成本(程序开发员的人工费)以及需要开发时间外,特别在使用当初很容易发生错误。
●为了在使用后进行维护,必须确保程序开发员不辞职特别是优秀的系统工程师与程序开发员会被互相争抢很难确保。
等等。如果这样仍然认为有必要时可以开发追加程序。追加程序开发有如下两种:
① 外部程序开发
② 插件开发
关于这两种程序开发方法说明如下:
外部程序开发
Q: 为了使独自开发的程序与生产计划排程软件进行数据合并并使其工作,有什么方法吗?
A: 通过Microsoft Access等的RDB(关系数据库)及文本文件的合作方法。通过外部程序向生产计划排程软件传输数据,需要使用生产计划排程软件的导入功能。相反,要提取生产计划排程软件的日程表结果在外部程序中处理时,需要使用生产计划排程软件的输出功能。例如这样通过RDB等方式与生产计划排程软件合作方法叫做疏隔合作,也可以说是相对性难易程度较低的程序开发。
插件开发
Q: 为了使组字开发的程序插件编入生产计划排程软件进行合作使其运行,应该怎样做操作?
A: 如果能够开发出插件,那么就几乎可以直接访问所生产计划管理器内部的所有数据(对象、属性),并且可以执行参照、补充、变更、删除与内部处理的功能。通过与插件的密切合作,可以开发出高度且高速的程序。
为了能够开发插件,就需要理解与充分利用COM接口这种技术,所以与外部程序的开发相比,将是一项难度很大的软件开发。
'//插件的资源代码 Visual Basic的例子
'//制作类定义
'// 070327
Public Function CreateNewClass(className As String, classAlias As String, project As ASBProject, args As AsPlugInManager.ASPArgList) As ASOObject
Dim classDef As ASOObject
Set classDef = project.CreateUserClassDef(className, className)
If classDef Is Nothing Then
Set CreateNewClass = Nothing
Exit Function
End If
'制作类定义的别名
classDef.Alias = classAlias
'类途径的别名
Dim classDef As ASOObject
Set classRoot = project.FindChild(className)
If Not classRoot Is Nothing Then
classRoot.Alias = classAlias
End If
' 返回类途径。
Set CreateNewClass = Nothing
End Function