安装BPL,其中包含在其他BPL中实现的组件

时间:2016-02-11 16:36:36

标签: c++ delphi components c++builder

我正在使用C ++ Builder 10 Seattle,我正在尝试安装一个组件包,该组件包注册在不同bpl中实现的组件。

从技术上讲,我已经这样做了:

我创建了两个包。一个被定义为仅运行时(comps.bpl),另一个被定义为设计时(compsIDE.bpl)。我实现自己的所有组件都包含在运行时库中。在设计时的包中,我包含了fcomps.bpi并添加了一个名为compsreg.cpp的单元。在Unit中,我使用以下代码从comps.lib安装组件:

var question = prompt("Enter a number");
for(i=0; i = question; i++){
    if{
        typeof question != "number");
        console.log("question not number");
        alert("Please try again");
}

问题是组件没有安装。我对Delphi单元使用相同的技术,它们也包含在comps.bpl中并且它们已经安装。

有人知道为什么Register方法不会注册组件吗?我认为唯一的原因可能是该方法永远不会被调用C ++而是Delphi ...

希望得到你的帮助...... 凯雷姆

1 个答案:

答案 0 :(得分:3)

  

添加一个名为compsreg.cpp的单元

这是问题的根源。文件中的namespace必须与文件名匹配,否则IDE将无法正确找到导出的Register()函数。您需要将namespace comps更改为namespace compsreg