class from dll

  • Автор темы Hsilgos
  • Дата начала
Статус
Закрыто для дальнейших ответов.
H

Hsilgos

#1
Народ! Кто-нибудь может дать ответ, как мне загрузить класс из DLL-ки ???
 
P

Pete

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

Guest

#3
да да, галоўнае каб класы былі сінхранізаваны ў *.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----------------------------------------
????: чуть-чуть поправил оформление, для лучшего восприятия.
 
Статус
Закрыто для дальнейших ответов.