gpt4 book ai didi

delphi - 如何获取TPersistentClass来自的动态包?

转载 作者:行者123 更新时间:2023-12-03 19:36:39 25 4
gpt4 key购买 nike

我的应用程序是使用runtime packages构建的,并使用LoadPackage函数加载它们。
然后,它使用GetClass函数获取类类型。

var
MyClass : TPersistentClass;
begin
if(LoadPackage('.\PackageA.bpl') = 0) then
raise Exception.Create('Error loading PackageA.bpl');
if(LoadPackage('.\PackageB.bpl') = 0) then
raise Exception.Create('Error loading PackageB.bpl');

MyClass := GetClass('TMyClass');
end;


有没有办法获取 MyClass来源的程序包的名称?

最佳答案

使用RTL的FindClassHInstance()函数获取拥有GetClass()返回的类类型的已加载包的句柄。这将与LoadPackage()返回的句柄相同。

您可以自己跟踪加载的包句柄,也可以将句柄传递给Win32 API GetModuleFileName()函数,以查询该句柄的包路径和文件名。

关于delphi - 如何获取TPersistentClass来自的动态包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55180431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com