powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / DLL
10 сообщений из 10, страница 1 из 1
DLL
    #33060243
Местный писатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как в ДЛЛ описать класс, а потом его достать в проге. Если моно с исходничками...
...
Рейтинг: 0 / 0
DLL
    #33060679
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Местный писательКак в ДЛЛ описать класс, а потом его достать в проге. Если моно с исходничками...

Класс напрямую нельзя, можно функции
...
Рейтинг: 0 / 0
DLL
    #33060993
shmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Экспортируем класс в dll-ке
(someclass.h):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
#ifndef SomeClassH
#define SomeClassH

__declspec(dllexport) class TSomeClass
{
public:
     TSomeClass(int V);
     int Variable;
};

#endif

someclass.cpp :
Код: plaintext
1.
2.
3.
4.
5.
6.
#include "someclass.h"

TSomeClass()
{
        Variable =  5;
}

Компилируем dll. Затем в вызывающем приложении включаем заголовочный файл и объявляем переменную класса:
#include "someclass.h"
TSomeClass *SomeClass;

Дальше пользуемся ей по своему усмотрению
...
Рейтинг: 0 / 0
DLL
    #33060997
shmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибочка в файле someclass.cpp :

Код: plaintext
1.
2.
3.
4.
TSomeClass::TSomeClass(int V)
{
        Variable =  V;
}
...
Рейтинг: 0 / 0
DLL
    #33062135
Местный писатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shmarОшибочка в файле someclass.cpp :

Код: plaintext
1.
2.
3.
4.
TSomeClass::TSomeClass(int V)
{
        Variable =  V;
}


Спасибо , но на конструкторе может так ?
Код: plaintext
1.
2.
3.
4.
__export TSomeClass::TSomeClass(int V)
{
        Variable =  V;
}
...
Рейтинг: 0 / 0
DLL
    #33062362
shmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем ? Строкой __declspec(dllexport) class TSomeClass мы экспортируем весь класс
...
Рейтинг: 0 / 0
DLL
    #33062410
Местный писатель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда на создании

TClass1 *Cl = new TClass1 (this);


пишет

[Linker Error] Unresolved external 'TFrame1::' referenced from C:\WORKS\PROJECTS\DLLTEST\CALLDLL.OBJ
...
Рейтинг: 0 / 0
DLL
    #33062815
shmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Включи в проект файл .obj этого класса
...
Рейтинг: 0 / 0
DLL
    #33063486
shmar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, стоп. Это ж получается ни хрена мы не из dll грузим класс, а из obj. Что то я уже торможу. Но давай разберемся с этим завтра.
...
Рейтинг: 0 / 0
DLL
    #33064031
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Местный писательТогда на создании

TClass1 *Cl = new TClass1 (this);


пишет

[Linker Error] Unresolved external 'TFrame1::' referenced from C:\WORKS\PROJECTS\DLLTEST\CALLDLL.OBJ
надо к проекту подключить *.lib -файл, который необходимо сгенерировать при сборке длл (ну и, есессно, хидер (*.h))
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / DLL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]