1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

class from dll

Тема в разделе "С и С++", создана пользователем Hsilgos, 27 сен 2004.

Статус темы:
Закрыта.
  1. Hsilgos

    Hsilgos Гость

    Репутация:
    0
    Народ! Кто-нибудь может дать ответ, как мне загрузить класс из DLL-ки ???
     
  2. Pete

    Pete Гость

    Репутация:
    0
    А разве такое возможно? Или все-таки объект класса? Берешь Visual C++ 6.0 создаешь dll-проект, вижал автоматицки создаст примеры для экспорта функций и объектов.
     
  3. Guest

    Guest Гость

    Репутация:
    0
    да да, галоўнае каб класы былі сінхранізаваны ў *.dll and *.exe.
    Ну канешне калі няведаеш трэба цераз функцыі ўказнікі на аб'екты вяртаць.
    Наконт выдалення мабыць лепей каб з *.dll выдалялася, бо ў *.dll свая лакальная куча, калі не памыляюся.

    Код:
    //---------EXE----------------------------------------
    interface IObj
    {
    virtual Draw() = 0;
    };
    
    class X : public IObj
    {
    };
    
    typedef void (*GetObj)(IObj*);
    typedef void (*DelObj)(IObj*);
    
    void main()
    {
    HMODULE module = LoadLibrary("name.dll");
    GetObj obj_fn = GetProcAddress(module, "GetObj");
    DelObj del_fn = GetProcAddress(module, "DelObj");
    IObj*ptr;//пакуль не ініцыалізаваны
    obj_fn(ptr);//ініцыялізуем
    ptr->Draw();//ужо працуе
    del_fn(ptr);// САМАЕ ЛЕПШАЕ І НАДЗЕЙНАЕ
    }
    //---------EXE----------------------------------------
    ????: чуть-чуть поправил оформление, для лучшего восприятия.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей