我做了个系统是基于动态加载bpl(每个功能模块都在bpl中).
包括以下几个部分:
1:主程序(exe文件). 载入公共数据模块,调用各个功能模块
2:公共数据模块(bpl文件). 提供统一的数据库连接,公共数据(如用户登陆信息)
3:各个实现具体功能的子模块(bpl文件)程序运行的时候,主程序首先加载公共数据模块,点击菜单加载子模块,每个子模块加载的时候都从公共数据模块获取数据库连接,用户登陆信息.我将一些公共函数写在一个单独的单元文件中,各个子模块都引用了这些单元文件.现在出现这样一个问题: 加载第一个子模块的时候一切正常,加载第二个子模块的时候出错,错误提示为"已经在XX子模块(*.bpl)中加载了XX单元文件,现在不能再加载".此时第二个子模块加载失败. 请问应该怎样分配这些单元文件的位置,编译的时候应该怎么设置?我目前是主程序带包编译公共数据模块,子模块Requires公共数据模块的Dcp文件.公共函数所在单元文件显示引用在主程序中(子模块编译的时候会提示这个单元文件被隐式载入)
包括以下几个部分:
1:主程序(exe文件). 载入公共数据模块,调用各个功能模块
2:公共数据模块(bpl文件). 提供统一的数据库连接,公共数据(如用户登陆信息)
3:各个实现具体功能的子模块(bpl文件)程序运行的时候,主程序首先加载公共数据模块,点击菜单加载子模块,每个子模块加载的时候都从公共数据模块获取数据库连接,用户登陆信息.我将一些公共函数写在一个单独的单元文件中,各个子模块都引用了这些单元文件.现在出现这样一个问题: 加载第一个子模块的时候一切正常,加载第二个子模块的时候出错,错误提示为"已经在XX子模块(*.bpl)中加载了XX单元文件,现在不能再加载".此时第二个子模块加载失败. 请问应该怎样分配这些单元文件的位置,编译的时候应该怎么设置?我目前是主程序带包编译公共数据模块,子模块Requires公共数据模块的Dcp文件.公共函数所在单元文件显示引用在主程序中(子模块编译的时候会提示这个单元文件被隐式载入)
mainmodule:= LoadPackage(bplname);