Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Класс в dll 
:(
    Опции темы
artsb
Дата 24.6.2008, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Всем привет.

В приложении использую dll (свою).
В dll описан класс. В приложении, при вызове функции из этой dll, в качестве параметра нужно передать объект этого класса, заранее его объявив и изменив. Как это можно сделать? Подключить *.h файл с описанием класса? Или есть другие варианты?


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
ama_kid
Дата 25.6.2008, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 10
Всего: 95



ну а сложность-то в чем? Если и dll твоя, и приложение скомпилены одним компилятором с одинаковыми опциями - то проблем быть не должно по идее...
В dll делаешь так:
Код
class __declspec(dllexport) TMyClass
{
...
};

В своем приложении так:
Код
#pragma comment (lib, "MyDll.lib") 
// при необходимости - подключить нужные хидеры
...
class __declspec(dllimport) TMyClass
{
 ...
  // Здесь надо описать класс, для того чтобы компилятор знал его структуру
 ...
};
Ну а дальше - можешь его использовать как обычный класс, в т.ч. передавать параметром в функции...


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
artsb
Дата 25.6.2008, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



ama_kid, спасибо. Как я понял это статическое подключение.

А можно как-то обойтись без описания класса в приложении?


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Fazil6
Дата 25.6.2008, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



Цитата(artsb @  25.6.2008,  10:04 Найти цитируемый пост)
А можно как-то обойтись без описания класса в приложении? 

можно конечно, только работать не будет
PM MAIL   Вверх
ama_kid
Дата 25.6.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 10
Всего: 95



Цитата(artsb @  25.6.2008,  10:04 Найти цитируемый пост)
А можно как-то обойтись без описания класса в приложении? 
Вроде бы нет, описание класса необходимо в любом случае... Иначе как тогда компилятор будет компилировать код приложения? smile 



--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.