2010-11-22 19 views
5

Win32 programım, çalışma zamanı paketleri ile oluşturulmuştur. Süreç için geçerli yürütme noktasının çalışma zamanı paketini bilmek için her zaman bir referans olarak HInstance kullanabiliriz.Bir nesnenin hangi .bpl paketine ait olduğunu nasıl kontrol edilir

Uygulamam, çalışma zamanında birkaç çalışma zamanı paketi yükleyebilir. Bir nesne verildiğinde, nesnenin (veya sınıfın) hangi çalışma zamanı paketinin (veya THandle paketinin) ait olduğunu bilmek mümkün mü?

cevap

10

Bunun için FindClassHInstance'ı kullanabilirsiniz, ancak bir paket döndürdüğünde veya exe dosyası çalışma zamanı paketleri ile oluşturulup oluşturulmayacağınıza bağlıdır.

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