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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2012, 22:37   #1
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию работа с DLL

Ув. юзеры нужна помощь сам неразу не делал даже не знаю как сделать код, и объединить с программой...Задание заключаеться в том что бы сделать простую программу с сумой двух чисел, но параметры суммы должны быть прописаны в DLL...
Obey177 вне форума Ответить с цитированием
Старый 20.03.2012, 22:48   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но параметры суммы должны быть прописаны в DLL
Чего??? Переменные должны содержаться в DLL?
Или вычисление суммы должно быть оформлено в виде функции, вызываемой из DLL?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.03.2012, 22:58   #3
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Чего??? Переменные должны содержаться в DLL?
Или вычисление суммы должно быть оформлено в виде функции, вызываемой из DLL?
2-ое более подходит...ну как мне объясняли должно быть так переменные описаные в длл и пример типо сум:=a+б
Obey177 вне форума Ответить с цитированием
Старый 20.03.2012, 23:00   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

не путайте параметры с переменными.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 20.03.2012, 23:16   #5
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
не путайте параметры с переменными.
пепел феникса, я же говорю не шарю вообще...с этими библиотеками...
Помогите пожалуйста сделайте простенький пример с объединением длл и программы для каких либо расчетов...буду очень благодарен

Последний раз редактировалось Obey177; 20.03.2012 в 23:20.
Obey177 вне форума Ответить с цитированием
Старый 20.03.2012, 23:53   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я же говорю не шарю вообще...с этими библиотеками...
А причем тут это?
Ты задачу поставил... смешно (без обид)
Видишь, ли при такой постановке задачи, ее реализация выглядит так:

DLL
Код:
library Project2;


{$R *.res}
// Описываем экспортные переменки
 var q,w:integer;
 exports q,w;
begin
end.
EXE
Код:
var h:THandle; q,w:^integer;
begin
// Загружаем либу
 h:=LoadLibrary('project2.dll');
// Получаем адреса переменок
 q:=GetProcAddress(h,'q');
 w:=GetProcAddress(h,'w');
//Работаем с ними как с указателями
 q^:=6;
 w^:=7;
 caption:=IntToStr(q^+w^);
 FreeLibrary(h);
end;
Т.е. да - это возможно, но! Еще раз уточни у своего преподавателя точный и полный текст условия задачи.

Короче это... как бы из авианосца по москитам...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.03.2012, 00:43   #7
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А причем тут это?
Ты задачу поставил... смешно (без обид)
Видишь, ли при такой постановке задачи, ее реализация выглядит так:

DLL
Код:
library Project2;


{$R *.res}
// Описываем экспортные переменки
 var q,w:integer;
 exports q,w;
begin
end.
EXE
Код:
var h:THandle; q,w:^integer;
begin
// Загружаем либу
 h:=LoadLibrary('project2.dll');
// Получаем адреса переменок
 q:=GetProcAddress(h,'q');
 w:=GetProcAddress(h,'w');
//Работаем с ними как с указателями
 q^:=6;
 w^:=7;
 caption:=IntToStr(q^+w^);
 FreeLibrary(h);
end;
Т.е. да - это возможно, но! Еще раз уточни у своего преподавателя точный и полный текст условия задачи.

Короче это... как бы из авианосца по москитам...
да есть точный...просто я хотел сам попробовать его сделать...по примеру...Вот задание: Поместите в DLL функцию, получающую значения длин сторон прямоугольника и возвращающую численное значение равное периметру...
Obey177 вне форума Ответить с цитированием
Старый 21.03.2012, 01:00   #8
Obey177
Форумчанин
 
Регистрация: 29.08.2010
Сообщений: 159
По умолчанию

Выдает ошибку...Приложение или библиотека "путь" DLL не являеться образом программы для windows NT проверьте назначение установочного диска...
Obey177 вне форума Ответить с цитированием
Старый 21.03.2012, 02:05   #9
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

может этой поможет ...
Noor вне форума Ответить с цитированием
Старый 21.03.2012, 08:56   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Вот задание:
Ну и? Почему с этого не начать тему? Это же совсем другая задача, и реализуется абсолютно по другому.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с DLL shock-in Общие вопросы Delphi 6 24.11.2009 14:39
Работа с DLL soonner Помощь студентам 4 25.03.2009 21:32
Работа с dll Alex Logos Общие вопросы Delphi 3 27.02.2009 10:30
Работа с DLL StartMis Общие вопросы Delphi 4 09.02.2009 12:05
Работа с DLL Maks1978 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 18.09.2008 16:55