我编写了一个在运行时动态加载包的小组件。
所以我的主项目(exe
)和一些包(bpl
)有一些小组项目。现在我想在我的exe
(Datamod.pas
)中使用所有单元。
所以在我的软件包的某个单元的uses
列表中,我正在添加Datamod
,我想在运行时访问该数据库。吵架,一切都在筹码。
但是
当我调试代码时 - bpl中Datamod
类的实例不是nil,但是当我访问它时它给了我一个AV。我错过了什么?我应该将Datamod.pas
导出到其他包并让其他包使用该包吗?为什么它给了我AV?
答案 0 :(得分:1)
不,您无法从动态包中访问您的程序单元。
将datamod.pas移至另一个包,然后将其链接到您的程序和其他包中。它将是可访问的,它不会导致AV。