问主程序要传递一个参数给dll,改变dll中的一个类的构造函数的参数,怎么实现,

解决方案 »

  1.   

    这个对象构造的有点复杂,他是在主程序中确定类型
    irr::SIrrlichtCreationParameters param;
    param.WindowId = reinterpret_cast<void*>( this->GetSafeHwnd());
    param.WindowSize = core::dimension2d<s32>(nWidth,nHeight) ;
    param.DriverType = video::EDT_BURNINGSVIDEO;
    IrrlichtDevice *device = createDeviceEx(param);
    在createDeviceEx中调用CBURNINGSVIDEO的构造函数而CBURNINGSVIDEO又派生与CNullVideo,现在我想改变CBURNINGSVIDEO的成员变量的值,如何实现
      

  2.   

    IrrlichtDevice *device = createDeviceEx(param);
    //createDeivceEx能不能加参数?
    若能加参数,把你需要改变成员变量的值传过去。若不能,那你让Dll再导出一个接口。把值传过去保存起来(全局变量就可以)。然后再调用createDeviceEx(param);
    CreateDeviceEx中改变成员变量的值。 
      

  3.   

    定义一个函数,比如说:SetValue(...);
    传入你想要传的值不就OK了?!
      

  4.   

    调用的顺序是CIrrDeviceWinCE->createDriver()->video::createSoftwareDriver2->new CBurningVideoDriver()->CBurningVideoDriver():BackBuffer,在哪开放个接口呢?
      

  5.   

    dll中导出一个参数  SetParam(参数列表);外部调用时,调用SetParam(我要传的参数)。只要你将包含该函数的动态库导入到了当前进程中,这跟一般函数调用没什么区别啊。