Понедельник, 02 Декабря 2024, 02:06

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Ошибка в Delphi
MoonKingДата: Пятница, 30 Декабря 2011, 20:23 | Сообщение # 1
Delphi'ст
Сейчас нет на сайте
Процедура:

Code
procedure TheClose();
begin
   Close;
end;


Ошибка:

Code
[Error] paw.dpr(30): '(' expected but ';' found


Я в непонятках, всегда работало, в чем дело-то?



Когда-нибудь я создам свой ЯП. С блэкджеком и шлю... хотя нет, этого не будет.
prog_154rusДата: Пятница, 30 Декабря 2011, 20:28 | Сообщение # 2
Lonely Developer
Сейчас нет на сайте
MoonKing, нужно
Quote

procedure TheClose();
begin
Close();
end;
MoonKingДата: Пятница, 30 Декабря 2011, 20:43 | Сообщение # 3
Delphi'ст
Сейчас нет на сайте
Теперь
Code
procedure TheClose();
begin
    Close();
end;


ошибка
Code
[Error] paw.dpr(30): Expression expected but ')' found


Добавлено (30.12.2011, 20:43)
---------------------------------------------
Что, никому нет дела до маленького олдскульного текстового проектика? sad



Когда-нибудь я создам свой ЯП. С блэкджеком и шлю... хотя нет, этого не будет.


Сообщение отредактировал MoonKing - Пятница, 30 Декабря 2011, 20:44
TimKruzДата: Пятница, 30 Декабря 2011, 20:56 | Сообщение # 4
старожил
Сейчас нет на сайте
Quote (prog_154rus)
MoonKing, нужно
Quote
procedure TheClose();
begin
Close();
end;

lol В Delphi не нужно писать лишних скобок, если процедура не имеет параметров. Это тебе не Си.

MoonKing, ты ведь хочешь процедурой close закрыть форму (окно)? Тогда нужно так: Form1.Close. Ну или другое название формы. И ни каких скобок не надо, у этой процедуры нет параметров. А вот у одноимённой процедуры, закрывающий файл, есть параметр: Close(f:file).

Дело в том, что процедуры-обработчики событий формы и компонентов описываются внутри объекта формы, и по-умолчанию все функции, записываемые в такой процедуре,
относятся к этому объекту. Т.е. мы пишем Close, а компилятор подразумевает Form1.Close.

***
А если хочешь закрыть файл, то нужно Close(переменная-указатель_на_файл).




Сообщение отредактировал TimKruz - Пятница, 30 Декабря 2011, 20:58
MoonKingДата: Пятница, 30 Декабря 2011, 21:01 | Сообщение # 5
Delphi'ст
Сейчас нет на сайте
TimKruz, У меня консольный проект, там как писать, "Console.Close;"?


Когда-нибудь я создам свой ЯП. С блэкджеком и шлю... хотя нет, этого не будет.
TimKruzДата: Пятница, 30 Декабря 2011, 21:09 | Сообщение # 6
старожил
Сейчас нет на сайте
MoonKing, а, так консоль? Ну так там вообще объекта приложения по умолчанию нет (ни тебе TForm, ни TApplication), так что лучше пользоваться процедурами exit (выходит либо из цикла, либо из процедуры, либо из программы, т.е. чтобы выйти из программы она должна быть в теле программы) и halt (в скобках можно указать код выхода: 0 - типа всё отлично, остальное - типа произошла ошибка).
То есть в твоём случае получится:
Quote (MoonKing)
procedure TheClose();
begin
Halt;
end;


MoonKingДата: Пятница, 30 Декабря 2011, 21:10 | Сообщение # 7
Delphi'ст
Сейчас нет на сайте
TimKruz, Спс за помощь smile


Когда-нибудь я создам свой ЯП. С блэкджеком и шлю... хотя нет, этого не будет.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг