Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > DLL библиотеки |
Автор: Victor 18.2.2004, 22:25 |
Может я неправильно понимаю, я делаю FILE->NEW->OTHER->DLL WIZARD, тама пишу пару процедур все компилиться, потом создаю проект пишу procedure count; external 'Mydll.dll' begin ... count; ... end; ненаходил длл, я компилю и длл и проект, потом кладу их в 1 папку ![]() |
Автор: Pakshin A. S. 18.2.2004, 22:34 |
Пропиши полный путь... Посмотри... В Help'е есть хорошие примерчики, глянь их... |
Автор: x77 18.2.2004, 22:44 |
Victor, скопируй полученную dll-ку в system32 (или system для 98) |
Автор: Петрович 19.2.2004, 09:50 | ||
Совсем не обязательно. При статическом связывании достаточно что-бы Dll лежала в том-же каталоге что и EXE-шник. to Victor: Что-то не так написал, кидай более подробный код сюда. |
Автор: Victor 19.2.2004, 11:13 | ||||
Source:
Library:
Error: Файл PROJECT1.EXE связан с несуществующим компонентом test.dll:testing; Присоедененное к системе устройство не работает |
Автор: Victor 19.2.2004, 11:14 |
ложу все в c:\ пишу external 'c:\test.dll'; - тоже самое =( |
Автор: Victor 19.2.2004, 11:16 |
x77 ложил в system, system32, windows:) не работает |
Автор: Петрович 19.2.2004, 12:19 | ||||
А так куда не ложи ![]()
В смысле не test.dll не найден, а не найден testing в нем ![]() А что-бы находил, надо его (testing) экспортировать из test.dll. Делается это так, в test.dll, где-нибудь после текста testing пишешь:
Тем самым, ты сообщишь компилятору что функция (процедура) testing будет вызываться извне DLL. Если экспортируеш несколько функций (процедур), то можеш перечислить их списком. |
Автор: Victor 19.2.2004, 13:30 |
Спасибо! |
Автор: Victor 19.2.2004, 21:09 |
бред я пишу имя в конце 2 цифры добавляю уже не работает, допустим abvgd12 - не работает abvgd - работает почему ? |
Автор: Петрович 20.2.2004, 00:02 | ||
В смысле, так и говорит: "Не работаю" ![]() |
Автор: Victor 20.2.2004, 16:13 |
Нет ерор описанный выше типа процедуру неможет найти а если имя библиотеки делаю на 2 символа а именно цифры короче то работает |
Автор: <Spawn> 20.2.2004, 16:57 |
попробуй: procedure abvgd12;external 'C:\test.dll' name 'abvgd12'; |
Автор: <Spawn> 20.2.2004, 16:58 |
а ты правишь exports? |