我想在某个Unit中写一个方法,或者类方法。
得到 属于的bpl名字,如果是路径就最好了。
因为,某些配置文件是跟着bpl走的。而这些配置文件只用于这些bpl。
(不晓得,在bpl中取Instance是exe的,还是bpl的。)
得到 属于的bpl名字,如果是路径就最好了。
因为,某些配置文件是跟着bpl走的。而这些配置文件只用于这些bpl。
(不晓得,在bpl中取Instance是exe的,还是bpl的。)
解决方案 »
- 爱莲说
- 关于delphi中的打印问题?
- 关于Findwindow
- 数据保存问题
- 怎么在一个应用中判断一个form 已经创建!急
- 好久没来D区,散200分
- 江湖救急啊!!
- 用ado连接oracle不上,错误提示说我服务器名字错了但我连接console也是那个服务器名字呀
- 在adotable中的过滤器(filter),如何限制某一段时间之间的记录(在adoquery中用between可以)
- ASP中用VBSCRIPT这样写SET RS=Server.CreateObject("ADODB.recordset")在DELPHI中怎样来写一个语句完成同样的功能?RS是创建的一个对象……
- 问2个delphi的小问题
- delphi与SQL2000的图片读取
1、Application.ExeName
2、GetModuleFileName
exe Load bpl后还要告诉bpl,你的句柄是多少?
那还直接把Load的文件给bpl,更直接。
若是dll,则HInstance是dll的句柄,而不是exe的,因为他们不共享vcl包
若是exe程序,则HInstance是exe的实例句柄,由于bpl是和exe共享vcl包的,所以取到的会是exe的实例句柄。
若是dll,则HInstance是dll的句柄,而不是exe的,因为他们不共享vcl包//--------------
如果是loadpackage的方法.是可以的,如果不是动态加载的话.可以用下面的方式.
GetModuleFileName(FindClassHInstance(TCPISForm), Buf, 100);
GetModuleFileName( FindHInstance(pointer( HInstance)), Buf, 100);
s:=GetModuleName(HInstance); // c:\...\MyTest.bpl
s:=GetModuleName(MainInstance); // d:\...\Project1.exe
GetModuleFileName 还没有试过,之后我试试看。
结贴了。