如何检查对象所属的.bpl包

Cha*_*ang 5 delphi

我的Win32应用程序是使用运行时包构建的.我们可能总是使用HInstance作为参考来了解进程的当前执行点的运行时包.

我的应用程序可能在运行时加载少量运行时包 给定一个对象,是否可以知道对象(或类)属于哪个运行时包(或包THandle)?

Dan*_*ett 10

您可以使用FindClassHInstance,但它是返回包还是exe文件将取决于您是否使用运行时包进行构建.

var
  instance: HMODULE;
begin
  instance := FindClassHInstance(TButton);
  Caption := GetModuleName(instance);
Run Code Online (Sandbox Code Playgroud)