2010-11-22 51 views
5

我的Win32应用程序是使用运行时软件包构建的。我们可能总是使用HInstance作为参考来知道进程的当前执行点的运行时包。如何检查对象属于哪个.bpl包

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

回答

10

您可以使用FindClassHInstance做这件事,但它是否返回包或exe文件将取决于您是否使用运行时包构建或不包含。

var 
    instance: HMODULE; 
begin 
    instance := FindClassHInstance(TButton); 
    Caption := GetModuleName(instance);