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

Ошибка: Record, object or class type required

08.05.2010, 00:26. Показов 22441. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
на код вызова второстепенной формы
Delphi
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
 showmodal.form3;
end;
ругается ошибкой:
[DCC Error] Unit1.pas(32): E2018 Record, object or class type required
[DCC Fatal Error] Project1.dpr(7): F2063 Could not compile used unit 'Unit1.pas'

никогда раньше на этом не застрявал, а теперь не отделаюсь никак(((
проект:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program Project1;
 
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {DataModule2: TDataModule},
  Unit3 in 'Unit3.pas' {Form3};
 
{$R *.res}
 
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TDataModule2, DataModule2);
  Application.CreateForm(TForm3, Form3);
  Application.Run;
end.
главная форма:
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls;
 
type
  TForm1 = class(TForm)
    DBGrid1: TDBGrid;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
uses Unit2, Unit3;
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 showmodal.form3;
end;
 
end.
второстепенная
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
unit Unit3;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
 
type
  TForm3 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form3: TForm3;
 
implementation
 
{$R *.dfm}
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2010, 00:26
Ответы с готовыми решениями:

Ошибка: 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
Выдает ошибку: Unit_Kartka.pas(134): Record, object or class type required ...

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

9
26 / 26 / 10
Регистрация: 24.08.2009
Сообщений: 71
08.05.2010, 01:06 2
нужно Form2.showmodal и Form3.showmodal
1
0 / 0 / 0
Регистрация: 20.04.2010
Сообщений: 21
08.05.2010, 01:13  [ТС] 3
оО вот я... спасибо большое) битый час голову ломаю, а проблема то в таком пустяке была..
0
3 / 3 / 0
Регистрация: 01.02.2011
Сообщений: 28
01.02.2011, 16:29 4
Нужно из Unit2 по нажатию Button5 передать значение в Unit1 в Timer1.Interval
Делаю так:


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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdHTTP, ComCtrls, Buttons;
 
type
  TForm1 = class(TForm)
  Timer1: TTimer;
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1; Str, Send : string; P : integer;
 
 
implementation
 
uses Unit2;
 
 
{$R *.dfm}
 
 
 
end.

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
unit Unit2;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdTCPConnection,
  IdTCPClient, IdHTTP, ExtCtrls;
 
type
  TForm2 = class(TForm)
    RadioButton4: TRadioButton;
    Button5: TButton;
    procedure Button5Click(Sender: TObject);
    procedure RadioButton4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form2: TForm2; Timer1: Integer; p1, s:string;
 
implementation
 
uses Unit1;
 
{$R *.dfm}
 
procedure TForm2.RadioButton4Click(Sender: TObject);
begin
 tinterval:=30000;
end;
 
procedure TForm2.Button5Click(Sender: TObject);
begin
Timer1.Interval:=tinterval;
Form2.Close;
end;
Вроде везде все прописал, но вылезает аналогичная ошибка.

PS лишнее все стёр.
0
Фрилансер
Эксперт С++
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,375
Записей в блоге: 1
01.02.2011, 16:35 5
Переменная tinterval вообще не объявлена. Нужна глобальная переменная.
1
3 / 3 / 0
Регистрация: 01.02.2011
Сообщений: 28
01.02.2011, 16:42 6
Цитата Сообщение от Dekio Посмотреть сообщение
Переменная tinterval вообще не объявлена. Нужна глобальная переменная.
Т.е. в Unit1 и Unit2 дописать var tinterval:Integer?
0
13106 / 5887 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
01.02.2011, 16:55 7
StinK, Timer1 является полем в TForm1, поэтому в коде Unit2 надо заменить:
Delphi
1
2
3
4
5
procedure TForm2.Button5Click(Sender: TObject);
begin
  Timer1.Interval:=tinterval;
  Form2.Close;
end;
на:
Delphi
1
2
3
4
5
procedure TForm2.Button5Click(Sender: TObject);
begin
  Form1.Timer1.Interval:=tinterval;
  Close; //Либо Self.Close;
end;
И в методах не должны использоваться внешние по отношению к классу переменные, ссылающиеся на экземпляр этого же класса. - Это потенциально ведёт к ошибкам. Т. е., в методах TForm2 не должна использоваться переменная Form2. Вместо Form2 можно применять, например Self.
1
3 / 3 / 0
Регистрация: 01.02.2011
Сообщений: 28
01.02.2011, 17:04 8
Спасибо, всё получилось. А ведь проскакивала мысля, что нужно форму указать, где таймер стоит
Ну и к слову. Пишу програмку, которая будет проверять наличие определённого выражения на сайте

---
Mawrat: Ок.
0
0 / 0 / 0
Регистрация: 08.03.2016
Сообщений: 1
08.03.2016, 18:03 9
Помогите исправить ошибку)
Миниатюры
Ошибка: Record, object or class type required  
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32933 / 21258 / 8161
Регистрация: 22.10.2011
Сообщений: 36,516
Записей в блоге: 8
08.03.2016, 18:05 10
Точку на запятую сменить надо бы.
0
08.03.2016, 18:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.03.2016, 18:05
Помогаю со студенческими работами здесь

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

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

Ошибка: Record, object or class type required, ругается на DataModule (DM)
Здравствуйте! Помогите пожалуйста разобраться с данной ошибкой. В программе есть DataModule (с...

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


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

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

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