首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

bcb编写dll,导出函数返回form有关问题

2012-09-07 
bcb编写dll,导出函数返回form问题.我想用bcb编写一个dll, dll里面有一个form,有一个导出函数, 导出函数的

bcb编写dll,导出函数返回form问题.
我想用bcb编写一个dll, dll里面有一个form,有一个导出函数, 导出函数的返回值是form。 

然后主程序动态dll的调用导出函数,获得dll里面的form。

这个思路可行否 ?

附:代码。
extern "C" __declspec(dllexport) TForm GetDllDicForm(TComponent* Owner);
TForm GetDllDicForm(TComponent* Owner)
{
  TForm *LResForm = new TForm1(Owner);
  return LResForm;
}

[BCC32 Error] Unit1.cpp(22): E2459 VCL style classes must be constructed using operator new
  Full parser context
  Unit1.cpp(20): parsing: TForm GetDllDicForm(TComponent *)

[解决办法]
TForm GetDllDicForm(TComponent* Owner);

 改为

TForm* GetDllDicForm(TComponent* Owner);

 不建议在dll中输出vcl类的实例,其它工具无法使用,bcb的不同版本也可能会出错。
[解决办法]
大概是这样具体你再改改
DLL中
fun(TForm **newfrm)
{
*newfrm = Form1;
}
调用---
TForm *newfrm;
fun(&newfrm );

热点排行