Николай К.
23 сообщения
#17 лет назад
Как подключить DLL к программе на Delphi 7?

Как запустить имеющуюся в DLL программу?

Где можно найти в Инете нормальный учебник по Delphi ?
Евгений О.
2989 сообщений
#17 лет назад
var
LibHandle: THandle = 0;

procedure TForm1.Button1Click(Sender: TObject);
begin
// загрузка библиотеки
LibHandle:= LoadLibrary('mylib.dll');
if LibHandle< 1 then
begin
ShowMessage(SysErrorMessage(GetLastError));
exit;
end
else
begin
// библиотека загружена успешно
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
// выгрузка библиотеки
if LibHandle> 0 then
if not FreeLibrary(LibHandle) then
ShowMessage(SysErrorMessage(GetLastError));
end;

Есть еще несколько функций загрузки-выгрузки библиотек LoadLibraryEx, LoadLibraryEx32W, FreeLibrary32W. Можно, также, управлять потоками, например: ExitThread, DisableThreadLibraryCalls. Все это описано в справке Window SDK в группе "Dynamic-Link Library Functions".
Николай К.
23 сообщения
#17 лет назад
library Project2;

uses
SysUtils,
Classes;

{$R *.res}

begin
assign (input,'txt.txt');
rewrite (input);
writeln ('AAAAAAAAAAAAAAAAAAAAAAAAAAA');
writeln ('AAAAAAAAAAAAAAAAAAAAAAAAAAA');
writeln ('AAAAAAAAAAAAAAAAAAAAAAAAAAA');
writeln ('AAAAAAAAAAAAAAAAAAAAAAAAAAA');
close (input);
end.


Вот допустим текст DLL, а как сделать так, чтобы он запустился...

Напишите весь код пожалуста.
Николай К.
23 сообщения
#17 лет назад
Цитата:
Все это описано в справке Window SDK в группе "Dynamic-Link Library Functions".


А на *** можно скинуть?

А насчет кода - он не работает: ошибка "I/O error 105".
Помогите!
Евгений О.
2989 сообщений
#17 лет назад
Цитата:
А насчет кода - он не работает: ошибка "I/O error 105".

Конечно не работает. Ведь mylib.dll в природе не существует. Это лишь пример использования функции LoadLibrary. Там надо ввести имя реального файла.
Window SDK входит в стандартный комплект Delphi 7 (точно не знаю, но вроде бы во все версии). Также это можно найти на сайте microsoft.com.
Николай К.
23 сообщения
#17 лет назад
Цитата:
Ведь mylib.dll в природе не существует


1) Я его создавал, т.ч не в этом дело.
2) Я нашел все-таки ошибку
Евгений О.
2989 сообщений
#17 лет назад
И в чем ошибка, если не секрет? Вообще-то при отсутствии файла должна была быть не ошибка, а сообщение "Указанный модуль не наден" (или подобное).
Николай К.
23 сообщения
#17 лет назад
Ошибка была в Инпут\Оутпут в модуле DLL. Я нашел ее и исправил...
Гость
1 сообщение
#17 лет назад

рекомендую. у них там к тому же есть доступная для скачивания база статей с примерами исходников, удобная в использовании