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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DLL библиотеки 
:(
    Опции темы
Victor
Дата 18.2.2004, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Может я неправильно понимаю, я делаю FILE->NEW->OTHER->DLL WIZARD, тама пишу пару процедур все компилиться, потом создаю проект пишу
procedure count;
external 'Mydll.dll'
begin
...
count;
...
end;
ненаходил длл, я компилю и длл и проект, потом кладу их в 1 папку
confused.gif
PM MAIL   Вверх
Pakshin A. S.
Дата 18.2.2004, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Пропиши полный путь... Посмотри...

В Help'е есть хорошие примерчики, глянь их...
PM   Вверх
x77
Дата 18.2.2004, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Victor, скопируй полученную dll-ку в system32 (или system для 98)


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Петрович
Дата 19.2.2004, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата
Victor, скопируй полученную dll-ку в system32 (или system для 98)

Совсем не обязательно. При статическом связывании достаточно что-бы Dll лежала в том-же каталоге что и EXE-шник.

to Victor:
Что-то не так написал, кидай более подробный код сюда.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Victor
Дата 19.2.2004, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Source:
Код

program Project1;

uses
 Forms;

{$R *.res}

procedure testing;
external 'test.dll';

begin
 Application.Initialize;
 Application.Run;
 testing;
end.


Library:
Код

library test;

uses
 ShareMem,
 Dialogs,
 SysUtils,
 Classes;

{$R *.res}

procedure testing;
begin
showmessage('test');
end;

begin
end.

Error:
Файл PROJECT1.EXE связан с несуществующим компонентом test.dll:testing;
Присоедененное к системе устройство не работает
PM MAIL   Вверх
Victor
Дата 19.2.2004, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



ложу все в c:\
пишу external 'c:\test.dll'; - тоже самое =(
PM MAIL   Вверх
Victor
Дата 19.2.2004, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



x77 ложил в system, system32, windows:) не работает
PM MAIL   Вверх
Петрович
Дата 19.2.2004, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



А так куда не ложи smile.gif, все равно не найдет. Он-же тебе "ясно" гутарит:
Цитата
Файл PROJECT1.EXE связан с несуществующим компонентом test.dll:testing

В смысле не test.dll не найден, а не найден testing в нем smile.gif

А что-бы находил, надо его (testing) экспортировать из test.dll. Делается это так, в test.dll, где-нибудь после текста testing пишешь:

Код
exports testing;

Тем самым, ты сообщишь компилятору что функция (процедура) testing будет вызываться извне DLL.
Если экспортируеш несколько функций (процедур), то можеш перечислить их списком.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Victor
Дата 19.2.2004, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Спасибо!
PM MAIL   Вверх
Victor
Дата 19.2.2004, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



бред
я пишу имя в конце 2 цифры добавляю уже не работает, допустим
abvgd12 - не работает
abvgd - работает
почему ?
PM MAIL   Вверх
Петрович
Дата 20.2.2004, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата
abvgd12 - не работает

В смысле, так и говорит: "Не работаю" smile.gif ?


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Victor
Дата 20.2.2004, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Нет ерор описанный выше типа процедуру неможет найти а если имя библиотеки делаю на 2 символа а именно цифры короче то работает
PM MAIL   Вверх
<Spawn>
Дата 20.2.2004, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



попробуй:
procedure abvgd12;external 'C:\test.dll' name 'abvgd12';


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
<Spawn>
Дата 20.2.2004, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

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



а ты правишь exports?

Это сообщение отредактировал(а) <Spawn> - 20.2.2004, 16:58


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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