公司想把一个现有软件产品做成一个OCX控件,由于该产品基于MFC架构来做的所以剥离起来很麻烦,之前已经对其做过一定的改造,现在做OCX控件的时候,当我在OCX构造函数中调用现有DLL创建MAINFRM时候 发现 LOADFRAM时候 资源获取不到 获取的是当前OCX的资源。
因为之前该产品做过改造 让他可以作为一些项目的模块 唯一的区别是一个在OCX中调用 一个是在应用程序中调用。在应用程序中调用没有问题 他会自己找到相应的资源。但在OCX中找不到 。

解决方案 »

  1.   

    既然做成ocx了,那就没必要保留原先的框架
    提供接口,把功能类抽取出来
      

  2.   

    但是基于MFC架构做的东西 把类抽出来很麻烦 牵扯的东西太多 这个产品开发4年了
      

  3.   

    4年了,一直没做代码整理?
    大项目中,mfc框架提供的功能应该占比较少的分量
      

  4.   

    装入资源的时候,应该有一个handel参数,把这个handel改为OCX的handel,然后把相关的资源
    转移过来就行了。
      

  5.   

    当然把原来主工程的东西要融合到ocx工程来,原来的资源文件也要include到现在的rc文件里面啊。我也在这样的东西。自己新建一个ctrl继承COleControl,来创建框架,然后让ocx的ctrl继承这个ctrl。