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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2008, 13:00   #1
DM_bite
Участник клуба
 
Аватар для DM_bite
 
Регистрация: 29.07.2008
Сообщений: 1,091
Вопрос Проблема с dll(

Выдает ошибку при попытке запустить приложение.dll выглядит так:

library myfirstdll;

uses
SysUtils,
Windows,
Forms,
Classes;

{$R *.res}

procedure Button1Click(Sender: TObject);
begin
Close
end;

exports
Button1Click;

begin
end.

Ошибка: "(" expected but END found
Кто бы ты ни был - не думай о себе слишком (с)
DM_bite вне форума Ответить с цитированием
Старый 31.07.2008, 13:12   #2
Pitonio
Пользователь
 
Аватар для Pitonio
 
Регистрация: 11.07.2008
Сообщений: 17
По умолчанию

Цитата:
Сообщение от DM_bite Посмотреть сообщение
procedure Button1Click(Sender: TObject);
begin
Close
end;
Ошибка: "(" expected but END found
Очень непонятно что такое Close, чего он должен закрывать. Если он просит скобку, значит у Close должны быть какие-нибудь параметры, плюс еще ; в конце строки.
И еще, это весь код библиотеки? что-то непонятно откуда кнопка, она поидее должна лежать на форме, а про форму ничего нигде не сказано.
Краткость - сестра таланта.
Л.Н.Толстой

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

Цитата:
DM_bite
Может стоит раскрыть секрет твоей идеи?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.07.2008, 13:39   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Pitonio Посмотреть сообщение
И еще, это весь код библиотеки? что-то непонятно откуда кнопка, она поидее должна лежать на форме, а про форму ничего нигде не сказано.
причем тут кнопка? есть обыкновенная процедура Button1Click и усё. Ругается он на Close. Это для TForm1.Button1Click, процедура Close закрывает форму, а тут Close воспринимается как функция с параметрами, на отсутствие которых делфя и ругается. чтобы таких непонятных ошибок не было, всегда ставьте точку с запятой. закрыть форму, на которой кнопка лежит, можно через вызов Close для какого-нибудь TButton(Sender).Owner/Parent. Точно не скажу, делфей сейчас нету под руками
pu4koff вне форума Ответить с цитированием
Старый 31.07.2008, 13:50   #5
DM_bite
Участник клуба
 
Аватар для DM_bite
 
Регистрация: 29.07.2008
Сообщений: 1,091
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Может стоит раскрыть секрет твоей идеи?
А не было никакой идеи
Кто бы ты ни был - не думай о себе слишком (с)
DM_bite вне форума Ответить с цитированием
Старый 31.07.2008, 14:05   #6
Pitonio
Пользователь
 
Аватар для Pitonio
 
Регистрация: 11.07.2008
Сообщений: 17
По умолчанию

Цитата:
Сообщение от pu4koff Посмотреть сообщение
причем тут кнопка? есть обыкновенная процедура Button1Click и усё. Ругается он на Close. Это для TForm1.Button1Click, процедура Close закрывает форму, а тут Close воспринимается как функция с параметрами, на отсутствие которых делфя и ругается. чтобы таких непонятных ошибок не было, всегда ставьте точку с запятой. закрыть форму, на которой кнопка лежит, можно через вызов Close для какого-нибудь TButton(Sender).Owner/Parent.
Так что он будет закрывать, если ничего нет?
Под обычное приложение делфя закрывает форму и без точки с запятой и без параметров. А в данном случае нет ни формы, ни кнопки походу. Тем более когда в библиотеке создается форма, она создается отдельным Юнитом и в библиотеке обозначается
Unit1 in 'Unit1.pas' {Form1};
To DM_bite: Каким образом была вызывана процедура Button1Click(Sender: TObject);? Каким образом была создана библиотека?
Краткость - сестра таланта.
Л.Н.Толстой
Pitonio вне форума Ответить с цитированием
Старый 31.07.2008, 14:08   #7
DM_bite
Участник клуба
 
Аватар для DM_bite
 
Регистрация: 29.07.2008
Сообщений: 1,091
По умолчанию

Цитата:
Сообщение от Pitonio Посмотреть сообщение
Так что он будет закрывать, если ничего нет?
Под обычное приложение делфя закрывает форму и без точки с запятой и без параметров. А в данном случае нет ни формы, ни кнопки походу. Тем более когда в библиотеке создается форма, она создается отдельным Юнитом и в библиотеке обозначается
Unit1 in 'Unit1.pas' {Form1};
To DM_bite: Каким образом была вызывана процедура Button1Click(Sender: TObject);? Каким образом была создана библиотека?
Dll Wizard.Процедура должна быть вызвана из dll во время загрузки приложения в оперативную память.Функции могу вызывать из dll, а вот с этим проблемы( не хватает знании об операторах)
Кто бы ты ни был - не думай о себе слишком (с)

Последний раз редактировалось DM_bite; 31.07.2008 в 14:13.
DM_bite вне форума Ответить с цитированием
Старый 31.07.2008, 14:15   #8
Pitonio
Пользователь
 
Аватар для Pitonio
 
Регистрация: 11.07.2008
Сообщений: 17
По умолчанию

Цитата:
Сообщение от DM_bite Посмотреть сообщение
Dll Wizard
и что, при попытке создать форму, делфя не создавала отдельный юнит?
Краткость - сестра таланта.
Л.Н.Толстой
Pitonio вне форума Ответить с цитированием
Старый 31.07.2008, 14:19   #9
DM_bite
Участник клуба
 
Аватар для DM_bite
 
Регистрация: 29.07.2008
Сообщений: 1,091
По умолчанию

Цитата:
и что, при попытке создать форму, делфя не создавала отдельный юнит?
Я создал ProjectGroup, добавил dll и форму.Можете закрывать тему
Кто бы ты ни был - не думай о себе слишком (с)

Последний раз редактировалось DM_bite; 31.07.2008 в 14:42.
DM_bite вне форума Ответить с цитированием
Старый 31.07.2008, 15:51   #10
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Сообщение от Pitonio Посмотреть сообщение
Так что он будет закрывать, если ничего нет?
Под обычное приложение делфя закрывает форму и без точки с запятой и без параметров. А в данном случае нет ни формы, ни кнопки походу. Тем более когда в библиотеке создается форма, она создается отдельным Юнитом и в библиотеке обозначается
Unit1 in 'Unit1.pas' {Form1};
могу показать фокес-покес и создать форму без "обозначения в библиотеке Unit1 in 'Unit1.pas' {Form1};"
я так понял планируется эту функцию вызывать в обработчике нажатия на кнопку. форма и кнопка создаются в программе. при нажатии на кнопку вызывается эта процедура из библиотеки, которая закрывает форму, на которой собственно кнопка эта и лежит. в чем тут проблема и чего не существует?
pu4koff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема. kupulau Общие вопросы C/C++ 19 05.02.2008 21:11
проблема с URL Scorpeon Помощь студентам 1 18.06.2007 13:28