DLL+Delphi
23 повідомлення
#18 років тому
Как подключить DLL к программе на Delphi 7?Как запустить имеющуюся в DLL программу?
Где можно найти в Инете нормальный учебник по Delphi ?
2989 повідомлень
#18 років тому
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 повідомлення
#18 років тому
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 повідомлення
#18 років тому
Цитата:Все это описано в справке Window SDK в группе "Dynamic-Link Library Functions".
А на *** можно скинуть?
А насчет кода - он не работает: ошибка "I/O error 105".
Помогите!
2989 повідомлень
#18 років тому
Цитата:А насчет кода - он не работает: ошибка "I/O error 105".
Конечно не работает. Ведь mylib.dll в природе не существует. Это лишь пример использования функции LoadLibrary. Там надо ввести имя реального файла.
Window SDK входит в стандартный комплект Delphi 7 (точно не знаю, но вроде бы во все версии). Также это можно найти на сайте microsoft.com.
23 повідомлення
#18 років тому
Цитата:Ведь mylib.dll в природе не существует
1) Я его создавал, т.ч не в этом дело.
2) Я нашел все-таки ошибку
2989 повідомлень
#18 років тому
И в чем ошибка, если не секрет? Вообще-то при отсутствии файла должна была быть не ошибка, а сообщение "Указанный модуль не наден" (или подобное).
23 повідомлення
#18 років тому
Ошибка была в Инпут\Оутпут в модуле DLL. Я нашел ее и исправил...