我在做一个控件:
由Tbutton派生
在控件的*impl.cpp文件的public 中定义了一些变量,
然后在这个工程文件中我加了一个窗体,当点击该窗体上的“确定”按钮后
我想获得这些变量的值。
我是这样做的(控件的名称pos,其中最初生成的几个个文件为:
PosImpl1.cpp、PoxXControl1.cpp、Posxcontrol1_tlb、Posxcontrol1_ATL;
新加的窗体:frmSetup)
void __fastcall TfrmSetup::ButtonOKClick(TObject *Sender)
{
    TPosImpl  *posIml    ;
    posIml   = new TPosImpl(this);    if (   posIml->PComName == "COM1" )    ComConfig.Comport= 1;
  if (   posIml->PComName == "COM2" )    ComConfig.Comport= 2;
..........
}

解决方案 »

  1.   

    对了,这样编译的时候报错如下:
    [C++ Error] Setup.cpp(107): E2451 Undefined symbol 'TPos'
    [C++ Error] Setup.cpp(107): E2352 Cannot create instance of abstract class 'TPosImpl'
    [C++ Error] Setup.cpp(107): E2353 Class 'TPosImpl' is abstract because of '__stdcall TPosImpl::AddRef() = 0'要是有其他方法,能让我以其他方式解决这个问题也可以
      

  2.   

    对了,这样编译的时候报错如下:
    [C++ Error] Setup.cpp(107): E2451 Undefined symbol 'TPos'
    [C++ Error] Setup.cpp(107): E2352 Cannot create instance of abstract class 'TPosImpl'
    [C++ Error] Setup.cpp(107): E2353 Class 'TPosImpl' is abstract because of '__stdcall TPosImpl::AddRef() = 0'要是有其他方法,能让我以其他方式解决这个问题也可以
      

  3.   

    对了,这样编译的时候报错如下:
    [C++ Error] Setup.cpp(107): E2451 Undefined symbol 'TPos'
    [C++ Error] Setup.cpp(107): E2352 Cannot create instance of abstract class 'TPosImpl'
    [C++ Error] Setup.cpp(107): E2353 Class 'TPosImpl' is abstract because of '__stdcall TPosImpl::AddRef() = 0'要是有其他方法,能让我以其他方式解决这个问题也可以
      

  4.   

    1,你什么地方用了TPos,那里没有包含TPos的定义。
    2,TPosImpl类是一个虚基类,你必须继承并且重载AddRef函数才能实例化。
      

  5.   

    上面的deadhorse(死马) 大哥能给我email地址吗?我发给你看看