Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Экспорт класса в CPPBuilder, DLL 
:(
    Опции темы
ctulhu
Дата 7.2.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 7.2.2007

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



Есть класс написанный в Дельфи. ы

Как описать его в Dll таким образом, чтобы его можно было использовать в C++ Builder, как из обчного Юнита.
PM MAIL   Вверх
aktuba
Дата 7.2.2007, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

Репутация: 16
Всего: 38



А можно подробнее что к чему? Например, что передается в dll и из dll?


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Romikgy
Дата 7.2.2007, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



имхо для этого надо юзать bpl


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ctulhu
Дата 8.2.2007, 06:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 7.2.2007

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



Класс имеет следующее описание, сам по себе работает с 3DS моделями но зависит от многих дельфёвских юнитов.
Все данные хранит внутри себя.
Код


Uses Windows, Messages, Classes, Graphics, Controls, Forms, Geometry, GraphicEx,
  OpenGL, UtilsGL, StdCtrls, ShellApi, File3DS, Utils3DS, Dialogs,
  Types3DS, Const3DS, SysUtils, Math;

Type
  TModel3DS = Class(TObject)
  //-------------------------------------
    Private
      FReader: TFile3DS;

      // Опции сетки
      FLists: TList;
      FMainList: Cardinal;
      FCenter: TAffineVector;

      // Материалы
      FMaterials: TStringList;
   //-------------------------------------
      procedure Use3DSData(const Reader: TFile3DS);
      procedure ConvertMaterials(const Materials3DS: TMaterialList);
      procedure SetupTextures(ImagePath: String);
      procedure ClearLists;
      procedure CheckOpenGLError;
      function ConvertMeshData(const Version: TReleaseLevel; const Mesh3DS: PMesh3DS;
        ShowWarnings: Boolean): PMeshObject;
      function LoadPictureFromFile(Picture: TPicture; ImagePath,
        FileName: String): Boolean;
      function CreateTextureObject(DC: HDC; Bitmap: TBitmap;
        MinFilter, MagFilter: Cardinal): Cardinal;
   //-------------------------------------
    Public
      Constructor Create();
      Destructor Destroy(); Override;
      Procedure LoadModel(FilePath: String);
      Procedure DrawModel();
  end;

PM MAIL   Вверх
Bose
Дата 8.2.2007, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



ctulhu, если из всего класса из ДЛЛ тебе вызывать только эти два метода:
Код

  Procedure LoadModel(FilePath: String);
  Procedure DrawModel();


то вполне достаточно будет сделать обычную DLLку, которая будет экспортировать эти методы в виде функций(т.е. в которой будут экспортироваться 2 функции, вызывающие соответствующие методы).
PM MAIL WWW Skype   Вверх
ctulhu
Дата 8.2.2007, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 7.2.2007

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



Bose, а сам класс также описывать в ДЛЛьке, со всеми подключаемыми юнитами?
PM MAIL   Вверх
Bose
Дата 8.2.2007, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



Цитата(ctulhu @  8.2.2007,  21:37 Найти цитируемый пост)
Bose, а сам класс также описывать в ДЛЛьке, со всеми подключаемыми юнитами?

да.
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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