Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2008, 19:25   #1
xGroupers
Заблокирован
 
Регистрация: 09.03.2008
Сообщений: 69
Сообщение Cоздание dll и использование

Вообщем так создаю я dll в "Dll Wizard" вписываю код

Код:
library Project77;

uses
  SysUtils,
  Classes;

{$R *.res}

function GetMessage(mess:String):String;
begin
Result:= mess;
end;

begin
GetMessage('hehe');
end.
Он даёт ошибку Run/Parameters делаю я ссылку к ехе проекта1
Потом компилит и всё ок ...

а как использовать dll в своём проекте например в Project2
xGroupers вне форума Ответить с цитированием
Старый 24.03.2008, 19:47   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Просто объявляете в Project2:
function GetMessage(mess:String):String; external 'Project77';
mihali4 вне форума Ответить с цитированием
Старый 24.03.2008, 20:32   #3
xGroupers
Заблокирован
 
Регистрация: 09.03.2008
Сообщений: 69
По умолчанию

не работает !!! в проект2 по нажатию на кнопку делаю ShowMessage(GetMessage('ddd')) и не работает
xGroupers вне форума Ответить с цитированием
Старый 24.03.2008, 20:35   #4
xGroupers
Заблокирован
 
Регистрация: 09.03.2008
Сообщений: 69
По умолчанию

скиньте лучше пример а то чтото я туплю наверно
xGroupers вне форума Ответить с цитированием
Старый 24.03.2008, 20:44   #5
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

1. Что не работает?
2. Не нужно в глобальном пространстве имён (а лучше вообще нигде) дублировать имена системных функций. (GetMessage)
B_N вне форума Ответить с цитированием
Старый 24.03.2008, 20:56   #6
xGroupers
Заблокирован
 
Регистрация: 09.03.2008
Сообщений: 69
По умолчанию

1. Всё не работает , функция ошибку даёт
2. После этого пишу функцию implementation function GetMessage(mess:String):String; external 'Project77';
xGroupers вне форума Ответить с цитированием
Старый 24.03.2008, 21:08   #7
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Что-то не видно в коде dll секции exports.
По-моему должно быть:

Код:
function GetMessage(mess:String):String; export;  
begin  
Result:= mess;   
end;   
  
exports
  GetMessage index 1 name 'GetMessage';
Нужно же как-то указать какие функции доступны.

Код:
function GetMessage(mess:String):String; external 'Project77' name 'GetMessage';
и прислушайтесь к B_N, замените имя функции.

Последний раз редактировалось alexBlack; 24.03.2008 в 21:26.
alexBlack вне форума Ответить с цитированием
Старый 24.03.2008, 21:39   #8
SunKnight
Участник клуба Подтвердите свой е-майл
 
Аватар для SunKnight
 
Регистрация: 14.12.2007
Сообщений: 1,434
По умолчанию

Вот почитай Delphi Book - Глава 18-DLL.rar
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
SunKnight вне форума Ответить с цитированием
Старый 25.03.2008, 10:38   #9
xGroupers
Заблокирован
 
Регистрация: 09.03.2008
Сообщений: 69
По умолчанию

SunKnight дрянь но alexBlack'у спасибо всё работает кроме index я его убрал и всё ок
xGroupers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование *.swf Романнн Мультимедиа в Delphi 14 02.04.2010 09:27
использование Lpt порта Dj_smart Общие вопросы Delphi 2 04.03.2008 16:08
Cоздание многостроковой подсказки bill Помощь студентам 1 26.04.2007 21:19
Использование длл Anatolij Win Api 1 02.01.2007 19:54