![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Только не смейтесь
Короче, хочу создать dll для юзания из программ на других языках.
Так вот этот код не компилится. Ругается на предложение exports. Я пытался писать "exports ChangeKey", "exports TRegistr.ChangeKey", "exports TRegistr". На все матерится его мать.... -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Guedda |
|
||||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Классы из ДЛЛ невозможно экспортировать, поэтому тебе прийдётся дописать к коду библы ещё на каждое событие по процедуре:
А в exports написать:
-------------------- Ll 2 |
||||
|
|||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
отдельную DLL на каждый метод?! Бред какой-то! -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Нет. Ты меня не понял. Вот так примерно получится?
-------------------- Ll 2 |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Guedda, скомпилится он так скомпилился, только regsvr32 его отказывается регистрить - пишет нет точки входа
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Guedda |
|
|||
![]() Подрывник ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3137 Регистрация: 27.12.2005 Где: Ростов-на-Дону Репутация: 14 Всего: 78 |
Скажи, а зачем тебе класс в dll вписывать? Гораздо проще и рациональней использовать bpl, и подключать её, когда надо...
-------------------- Ll 2 |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
А с чего бы это её регистрировать какую то левую длл-ку, да которая ещё и не является COM сервером? Добавлено @ 15:40 Немогу найти эту статью в метсном факе, потому что он очень неудобный. Но про создание COM есть в drkb. |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Ну чего сразу левая? -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
||||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Ну можно простейший пример с "Hello word" для нелевой библиотеки, но что бы регистрировалась в regsvr32. К сожалению закачать DRKB сейчас возможности не имею
Добавлено @ 08:19
читай первый пост: Но на самом деле все проще. В Дельфях есть модуль Registry. В нем много вкусного, что может облегчить работу на ФоксПро. Вот я и хочу сделать содержимое этого модуля доступным для программ, написанных не на Дельфи -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Cashey |
|
||||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Посмотрел в DRKB. Вот такой пример там нашел. Он замечательно демонстрирует как создать DLL с классом, но увы..... эта DLL так же не регистрится regsvr32
Хотя в топике и написано:
Это сообщение отредактировал(а) Cashey - 29.6.2006, 09:05 -------------------- библия учит любить ближнего, а камасутра обучает как именно |
||||
|
|||||
| Yanis |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2937 Регистрация: 9.2.2004 Где: Москва Репутация: 72 Всего: 111 |
Именно этот способ тебе описал Guedda. Добавлено @ 09:46
http://yanis.front.ru/files/tmp/COM_creating.mht |
|||
|
||||
| ASGDeveloper |
|
|||
|
developer ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 1.4.2006 Репутация: 1 Всего: 1 |
Может я вопроса не понял? Не знаю, я так понял.
Модуль Registry имеет очень много полезных процедур и функций, так? И хочется, чтобы приложения написанные НЕ на дельфе, получили тот же функционал? Было принято решение создать дллку в которую прописать все полезные функции указанного выше модуля? Если все так, то ИМХО ответ один: писать безклассовую дллку, с одними только процедурами и добавлять к описанию каждой stdcall; export; то есть:
|
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Yanis, да, но как такую библиотеку зарегистрировать???
ASGDeveloper, переписывать весь модуль довольно трудоемко. Учитывая, что в нем используются (или могут использоватся) перекрестные ссылки А можно ли создать DLL такого типа?
-------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
попробую я объяснить...
regsvr32 регистрирует ТОЛЬКО COM-сервера. простая библиотека с классом -- НЕ COM-сервер. P.S. никто не мешает иметь в одном сервере несколько модулей -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |