delphi BPL+接口困惑 想做个程序,有个思路:把主程序和模块分离开,当然需要接口,不打算使用DLL,想采用BPL模式。可是怎样才能知道一个BPL包里注册的类名称?我可以用LoadPackage方法加载某个包,然后用GetClass方法获取包里面的类名,为了实现主程序与模块解耦就得知道实现了这个接口的包里的类名称。不知如何实现,求解。Delphi接口 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己开发的bpl,自己不知道类名称吗?我现在遇到卸载包的问题,一个包我可以直接得到handle,然后卸载,但是多个包,多个窗体,怎么知道哪个是哪个? 感觉可以有个专门管理BPL包的模块,主程序只负责调用这个模块,这个模块负责加载和卸载这些包。 第一步:pkHandle:=LoadPackage("test.bpl");//加载包第二步:GetClass("TForm1");//获取包中注册的类(就是不想在主程序里写死这个类名,只要知道了包名称,就能知道里面注册的类该多好)第三部:UnloadPackage(pkHandle);//卸载包 可以搞一个模块管理的bpl,里面搞一个list,每个模块package加载后自动把自己的一些信息加到这个list里(在initializatioin节里做就行了)。 GetClass是不是可以换个函数,得到注册类 @u011512342现在的问题是,我知道了BPL的名字,我怎么知道里面的注册类。 BPL和DLL共同使用,BPL用来共享类和全局对象就行! 如果单纯用BPL都不需要用接口了.字符串啊,类啊,对象啊随便传递.当然如果你从设计学角度出发,面向接口不关心实现设计的方式,用接口也无可厚非.不过有前车之鉴,代码会非常臃肿. http://hi.baidu.com/rarnu/item/4777cdcaf4f43a16b67a2472 大神,我们的开发环境是delphi6的 这种方法估计不行 bpl提供了哪些类,必须自己提供一个接口告知调用者,自动发现是不可能的。 bpl提供了哪些类,必须自己提供一个接口告知调用者,自动发现是不可能的。能不能给写个例子啊,接口变量好像和对象还不能转换 dbgrideh中虚拟字段 WebUIValidation.js 报错 delphi7中远程连接oracle的问题(dbexpress?) 有谁知道DOS文本模式字体和WINDOWS哪种字体最象? 最近哪有delphi7下载呀? 那位高人有cmos内存的读写的资料 Table的Active与close、open 请教奇怪的网络安全问题(有关木马) 数据庫编程应学哪些东西?(菜鸟求就) 如何实现在dll 中分配内存 和释放 有和java通用的des加密吗? 将字符串转为16进制数通过socket.sendtext发送出去
我现在遇到卸载包的问题,一个包我可以直接得到handle,然后卸载,但是多个包,多个窗体,怎么知道哪个是哪个?
第二步:GetClass("TForm1");//获取包中注册的类(就是不想在主程序里写死这个类名,只要知道了包名称,就能知道里面注册的类该多好)
第三部:UnloadPackage(pkHandle);//卸载包
是不是可以换个函数,得到注册类
现在的问题是,我知道了BPL的名字,我怎么知道里面的注册类。
当然如果你从设计学角度出发,面向接口不关心实现设计的方式,用接口也无可厚非.不过有前车之鉴,代码会非常臃肿.
bpl提供了哪些类,必须自己提供一个接口告知调用者,自动发现是不可能的。
bpl提供了哪些类,必须自己提供一个接口告知调用者,自动发现是不可能的。
能不能给写个例子啊,接口变量好像和对象还不能转换