![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 02.09.2007
Сообщений: 51
|
![]()
Установил себе Borland Delphi 7. И всё было нормально до тех пор, пока ни понадобилось создать простую DLL-ку.
Открыл оболочку, File - New - Other - New - DLL Wizard Выскочило окошко для ввода исходного кода DLL-ки. Ввёл следующее: library basic; uses SysUtils, Windows, Classes; {$R *.res} // --------- Отброс дробной части --------- function OtbrosDrobnChasti(ext_DobleVar:Exte nded):Integer stdcall; // Функция Int возвращает целочисленную часть числа с плавающей точкой, как // число с плавающей точкой. // Функция Trunc делает то же самое, но возвращает целое число в формате Integer. var i_Rezult:Integer; begin i_Rezult:=Trunc(ext_DobleVar); OtbrosDrobnChasti:=i_Rezult; end; exports OtbrosDrobnChasti; begin end. Сохранил проект под именем basic и нажал F9 (Run). В результате создалась DLL-ка, но выскочило вот такое окошко с сообщением об ошибке: ![]() Открыл Run - Parameters... Открылось окошко в котором пустые строки и кнопки обзора, которые позволяют что-то сюда добавить. ![]() Чего тут указывать-то, чтоб не выскакивало более сообщений об ошибке. Облазил весь гугл - ответа на вопрос так и не удалось найти. Хочу сказать сразу, что данная DLL-ка нужна для подключения её к советникам/скриптам, написаннным на языке MQL4 для работы в терминале Meta Trader 4. Попытался подключить полученную библиотеку к терминалу - выскакивает системная ошибка и терминал прекращает работу. Я уже думал, что строку function OtbrosDrobnChasti(ext_DobleVar:Exte nded):Integer stdcall; нужно писать как function OtbrosDrobnChasti(ext_DobleVar:Exte nded):Integer; stdcall; То есть, добавив точку с запятой перед stdcall; - не помогло. Хотя странно - на одних сайтах этот разделитель присутствует, на других нет Подскажите пожалуйста, что я делаю не так и что нужно указывать в том мудрёном окошке, которое вызывается по Run - Parameters... Последний раз редактировалось drknn; 30.04.2010 в 10:28. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 28.03.2008
Сообщений: 940
|
![]()
Вы нажимаете F9 (скомпилировать и запустить), а так как DLL нельзя запустить -получайте ошибку... Компилировать надо Ctrl + F9, DLL появиться в папке где находиться проэкт, если вы его не сохранили то тут: Delphi{версия}\Projects\Project{ном ер}.dll
P.S.: Почему в слове "{номер}" выше появился пробел? Часто вижу в сообщениях, в середине слова - пробел... Почему так? Последний раз редактировалось W0LF; 30.04.2010 в 10:34. |
![]() |
![]() |
![]() |
#3 | |
Пользователь
Регистрация: 02.09.2007
Сообщений: 51
|
![]() Цитата:
Что скажете по поводу разделителя ";" в строке function OtbrosDrobnChasti(ext_DobleVar:Exte nded):Integer; stdcall; Как правильно, так как я сейчас написал, или без разделителя, просто через пробел function OtbrosDrobnChasti(ext_DobleVar:Exte nded):Integer stdcall; |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 28.03.2008
Сообщений: 940
|
![]()
Правильно:
Код:
P.S.: В слове "Extended" тоже пробел... P.S.S.: А чо за системная ошибка? |
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 02.09.2007
Сообщений: 51
|
![]() Цитата:
![]() Ща метаквотесам отпишу и скину сюда ссылку на тему - посмотри если интересно, что они ответят. |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 02.09.2007
Сообщений: 51
|
![]()
Ну вот, тему у метаквотесов создал. http://forum.mql4.com/ru/31729
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при выхове функций Bass.dll из другой DLL | SalasAndriy | Общие вопросы Delphi | 7 | 21.10.2009 23:36 |
ошибка при создании TImage | Juffin | Общие вопросы Delphi | 9 | 22.04.2009 17:49 |
Ошибка при создании таблицы | LAGOX | SQL, базы данных | 1 | 28.03.2009 00:46 |
Ошибка при создании типа | Monte-Kristo | Помощь студентам | 4 | 04.03.2009 19:51 |