我正在使用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 ...
希望得到你的帮助...... 凯雷姆
答案 0 :(得分:3)
添加一个名为compsreg.cpp的单元
这是问题的根源。文件中的namespace
必须与文件名匹配,否则IDE将无法正确找到导出的Register()
函数。您需要将namespace comps
更改为namespace compsreg
。