|
Вопрос # 6 403/ вопрос решён / |
|
Здравствуйте, эксперты!
Я хотел задать такой вопрос.
Пишет, что undeclared identifier, хотя все объявлено.
Приложение: Переключить в обычный режим- unit Unit2;
-
- interface
-
- uses
- Classes, Unit1, SysUtils;
-
- type
- TCountObject = class(TThread)
- private
- seconds,minutes,hours:Integer;
- protected
- procedure Execute; override;
- procedure UpdateSeconds;
- procedure UpdateMinutes;
- procedure UpdateHours;
- end;
-
- implementation
- procedure UpdateSeconds;
- begin
- Form1.TimeSeconds.Caption:=IntToStr(seconds);
- end;
- procedure UpdateMinutes;
- begin
- Form1.TimeMinutes.Caption:=IntToStr(minutes);
- end;
- procedure UpdateHours;
- begin
- Form1.TimeHours.Caption:=IntToStr(hours);
- end;
- procedure TCountObject.Execute;
- begin
- seconds:= 0;
- minutes:= 0;
- hours:= 0;
- if seconds<60 then
- begin
- Sleep(1000);
- Synchronize(UpdateSeconds);
- Inc(seconds);
- end;
- if seconds = 60 then
- begin
- Inc(minutes);
- Synchronize(UpdateMinutes);
- seconds:= 0;
- end;
- if minutes = 60 then
- begin
- Inc(hours);
- Synchronize(UpdateHours);
- minutes:= 0;
- end;
- if hours = 24 then
- Form1.Close();
- end;
-
- end.
Примечание #1 (1 апреля 2013, 19:04): Если что, то это модуль потока.
Примечание #2 (2 апреля 2013, 01:18): Ошибка необъявления выскакивала только с переменными seconds, minutes, hours
 |
Вопрос задал: teremok (статус: Посетитель)
Вопрос отправлен: 1 апреля 2013, 19:03
Состояние вопроса: решён, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 10; последнее сообщение — 2 апреля 2013, 15:15; участников в обсуждении: 5.
|
Тов. Женька (статус: 3-ий класс), 1 апреля 2013, 20:08 [#1]:
Тут не видно, что Form1 что-то из себя представляет.
|
|
teremok (статус: Посетитель), 2 апреля 2013, 01:15 [#2]:
Тов. Женька, так подключен модуль unit1, там и Form1
Работаю над McDew
|
|
teremok (статус: Посетитель), 2 апреля 2013, 01:16 [#3]:
Или я что то путаю?
Работаю над McDew
|
|
Тов. Женька (статус: 3-ий класс), 2 апреля 2013, 07:35 [#4]:
допиши в процедурах TCountObject, как в последней процедуре с Execute.
|
|
min@y™ (статус: Доктор наук), 2 апреля 2013, 08:11 [#5]:
Покажи кусок модуля Unit1 от начала до implementation.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 2 апреля 2013, 10:41 [#6]:
Как выше писал тов. Женька, на мой взгляд также ошибка в том что в описаниях процедур нет TCountObject. Соответственно в процедурах и не видно где описаны seconds,minutes,hours, т.к. процедуры получаются вне класса, а переменные внутри
|
|
min@y™ (статус: Доктор наук), 2 апреля 2013, 10:56 [#7]:
А, ну да...
procedure TCountObject.UpdateSeconds;
begin
Form1.TimeSeconds.Caption:=IntToStr(seconds);
end;
procedure TCountObject.UpdateMinutes;
begin
Form1.TimeMinutes.Caption:=IntToStr(minutes);
end;
procedure TCountObject.UpdateHours;
begin
Form1.TimeHours.Caption:=IntToStr(hours);
end;
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 2 апреля 2013, 10:57 [#8]:
Юзай Ctrl+Shift+C и будет счастье.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Леонид (статус: 1-ый класс), 2 апреля 2013, 12:38 [#9]:
Ошибка предположительно в реализации класса TForm1. В нем должна быть строка TCountObject.Create( ), т.е. должен создаваться объект класса TCountObject. А если нет, то ошибка "undeclared identifier" ....
|
|
teremok (статус: Посетитель), 2 апреля 2013, 15:15 [#10]:
Да ребят сам вот разобрался, когда увидел, что
procedure TCountObject.Execute;
и то что там присутствует TCountObject в начале, а у меня нет.
Но всем спасибо все равно!
Работаю над McDew
|
2 апреля 2013, 15:16: Статус вопроса изменён на решённый (изменил автор вопроса — teremok)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|