0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 14
1

Ошибка [Error] Unit3.pas(33): Record, object or class type required в Делфи

04.04.2016, 16:02. Показов 1550. Ответов 7

Студворк — интернет-сервис помощи студентам
Выдает ошибку
[Error] Unit3.pas(33): Record, object or class type required
[Error] Unit3.pas(34): Record, object or class type required
[Fatal Error] Project1.dpr(7): Could not compile used unit 'Unit3.pas'

Полный текст
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms, Dialogs, StdCtrls;
type
TForm3 = class(TForm)
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
x0,y0,r: integer;
implementation
{$R *.dfm}
//вычерчивает звезду
procedure StarLine(x0,y0,r: integer; Canvas: TCanvas);
var   p: array [1..11] of Tpoint;
a,i:integer;
begin
a:= 18;
for i:=1 to 10 do begin
if (i mod 2=0) then begin // впадина
p[i].x:=x0+Round(r/2*cos(a*pi/180) ) ;
p[i].y:=y0-Round(r/2*sin(a*pi/180) ) ;
end
else
begin
[i].x:=x0+Round(r*cos (a*pi/180) ) ;
[i].y:=y0-Round(r*sin(a*pi/180) ) ;
end;
a:=a+36;
end;
p[11].X:=p[1].X;
Canvas.Polyline(p);
end;
procedure TForm3.FormMouseDown (Sender : TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft //нажата левая кнопка?
then Form3.Canvas.Pen.Color:=clRed
else Form3.Canvas.Pen.Color:=clGreen;
StarLine(x, y, 30, Form3.Canvas );
end;
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.04.2016, 16:02
Ответы с готовыми решениями:

Unit3.pas(217): Object or class type required
Помогите пожалуйста исправить ошибку. Сначала возился с VCL, теперь это. Программа разрабатывалась...

Ошибка: Record object or class type required
{$WARN SYMBOL_PLATFORM OFF} unit FormMain; interface uses Windows, Messages, SysUtils,...

Ошибка: Record, object or class type required
for i := 1 to temp + 1 do cells := i.ToString(); ???? roww := 1; coll :=...

Ошибка: record, object or class type required
Вод полный код окна Form1: unit Unit1; interface uses Windows, Messages, SysUtils,...

7
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
04.04.2016, 16:23 2
Строки 33, 34 нет первого символа p.
строка 38
Пропущено
Delphi
1
p[11].Y:=p[1].Y;
Напишите строку 38 лучше так.
Delphi
1
p[11]:=p[1];
Скопировать и то ума нет.
1
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 14
04.04.2016, 16:43  [ТС] 3
разобрался с тем что, в строке 33,34 нет "p", но все равно прога мне не рисует звезду.
Помогите кто чем может, пишу прогу вообще можно сказать первый раз.
могу скинуть всё архивом.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
04.04.2016, 16:56 4
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var
  Form1: TForm1;
  x0,y0,r: integer;
implementation
 
{$R *.dfm}
procedure StarLine(x0,y0,r: integer; Canvas: TCanvas);
var   p: array [1..11] of Tpoint;
a,i:integer;
begin
a:= 18;
for i:=1 to 10 do begin
if (i mod 2=0) then begin // впадина
p[i].x:=x0+Round(r/2*cos(a*pi/180) ) ;
p[i].y:=y0-Round(r/2*sin(a*pi/180) ) ;
end
else
begin
p[i].x:=x0+Round(r*cos (a*pi/180) ) ;
p[i].y:=y0-Round(r*sin(a*pi/180) ) ;
end;
a:=a+36;
end;
p[11]:=p[1];
Canvas.Polyline(p);
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft //нажата левая кнопка?
then Canvas.Pen.Color:=clRed
else Canvas.Pen.Color:=clGreen;
StarLine(x, y, 30, Canvas );
end;
Добавлено через 1 минуту
Delphi
1
2
3
var
  Form1: TForm1;
  x0,y0,r: integer;//эту строку удали
1
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 14
04.04.2016, 17:33  [ТС] 5
не помогло.
всем большое спасибо.
сдам так как есть.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
04.04.2016, 17:36 6
Лучший ответ Сообщение было отмечено Антидепрессант как решение

Решение

Ну ты дуб. Может на клавиши мыши не жмешь?
Вложения
Тип файла: rar Звезды.rar (157.0 Кб, 3 просмотров)
1
0 / 0 / 0
Регистрация: 04.04.2016
Сообщений: 14
04.04.2016, 18:32  [ТС] 7
нажимаю я на них, прога работает если её отдельным приложением делать.
А если помещаю её на 3-юю форму она вообще на 0 работает.
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
04.04.2016, 18:39 8
Выложи архив проекта. У тебя там какая-то лажа написана.

Добавлено через 2 минуты
У тебя было 3 ошибки, я тебе написал как их поправить, остальное это твоя персональная лажа. Самому нужно писать, а не выдергивать куски из чужих проектов.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.04.2016, 18:39
Помогаю со студенческими работами здесь

Ошибка Record, object or class type required
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Ошибка: Record, object or class type required
Код программы: unit UnitZakazch; interface uses Winapi.Windows, Winapi.Messages,...

Ошибка: Record, object or class type required
на код вызова второстепенной формы procedure TForm1.Button1Click(Sender: TObject); begin ...

[Ошибка] : Record, object or class type required
Выдает ошибку: Unit_Kartka.pas(134): Record, object or class type required ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru