⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 多文档界面设计配置文件读写串口操作串口封装类
💻 TXT
字号:
我的意思是,做一个ActiveX控件,当别人通过Add   to   project->components   and   controls添加我的控件后(此时自动生成一个头文件和一个cpp文件),能够在头文件中生成一些我在ActiveX中定义的结构,因为我的接口函数需要一些自定义的结构的指针作为参数。   
  这样是否违背了COM的思想?   
  我目前的解决办法就是在开发文档中给出结构的定义,让使用者自己定义结构的原型,然后将结构的一个实例的地址强行转换成long型作为参数来调用我的接口,参数到我这里后再强行转换成定义结构的指针。如下:   
  开始文档中给出定义:   
  typedef   struct   tagLegendData   
  {   
  int   Address;   
  char   Sign[21];   
  COLORREF   Color;   
  }LegendData;   
    
  用户使用时:   
  1。申明:   
  typedef   struct   tagLegendData   
  {   
  int   Address;   
  char   Sign[21];   
  COLORREF   Color;   
  }LegendData;   
  2。使用:   
  LegendData   thisLegendData;   
  MyActiveX.fun((long)   &thisLegendData);   
    
  我这边:   
  void   XXXX::fun(long   v)   
  {   
  LegendData*   pLegendData   =   (LegendData*)   v;   
  ...   
  }   
    
  这种方法我怎么看怎么别扭,高手们是如何做的啊。能否给点意见和经验,感激不尽。   
  而且,就算是能导出自定义结构,在调用接口时我还是想不到如何传递自定义结构参数,感觉还是要强制转换成long型。 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -