怎么才能在DLL中输出一个类对像?
现在我想在DLL中输给出一个类给其它的程序调用,调用DLL的程序不一定是VC做的,请问怎么做,如果现成的例子,最好能发到我的信箱上:[email protected] 或:      [email protected] 
谢谢!

解决方案 »

  1.   

    定义一个导出的全局类指针;
    如:extern __declspec(dllexport) CXX *mycxx;
    当然,在类中要写个函数将它初始化一下
      

  2.   

    除了使用组件方法(如COM),好象没有别的方法可以输出类给其它非VC工具使用。
    因为大家的数据结构都不一样,怎么声明和创建呢。
      

  3.   

    Example:class AFX_EXT_CLASS CDIB
    {
    public:
    static BOOL    IsPicFile(LPCTSTR pszFile);
    static HBITMAP LoadPic(LPCTSTR pszFile);
    static HBITMAP LoadPic(HINSTANCE hInst, UINT nID);public:
    CDIB();
    virtual ~CDIB(); BOOL Load(LPCTSTR pszFile);
    BOOL Load(HINSTANCE hInst, UINT nID); BOOL Validate() { return (m_hSection != NULL); }
    BOOL Draw(CDC *pDC, int x, int y);
    BOOL Fill(CDC *pDC, int cx, int cy);
    BOOL Draw(CDC *pDC, CRect &pRect); BOOL CreatePalette();
    void GetBitmap(BITMAP *pBITMAP) { ::GetObject(m_hSection,\
    sizeof(BITMAP), (LPVOID)pBITMAP); } protected:
    HBITMAP m_hSection;
    CPalette m_palette; void Free();
    };
      

  4.   

    1。lanstar200(Lanstar):AFX_EXT_CLASS 是不能给非VC工具调用的;
    2。比较同意caslwzgks(梦想家) 的说法,如果只是输出函数倒好说,但输出类恐怕不行
      

  5.   

    如果其他的开发工具也是c++, lanstar200(Lanstar)的方法可行,如果不是那你只有用COM了。