![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Почему-то на объявление класса типа
Код:
unit UnitMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ExtCtrls;
type
TWLD = class//класс
type //8 строка
TH = record//тип запись в классе
Name : string[10];
end;//конец записи
var
H : TH;
end;//конец класса 24 строка
var
WLD : TWLD;
//*****************************************************************************
implementation //28 строка
end.Вот ошибки Delphi 7 Цитата:
|
|
#2
|
||||
|
||||
|
Странно, что не попернулся т.к. у вас записано следующее:
Код:
type TWLD = class type TH = record Name : string[10]; end; |
|
#3
|
||||
|
||||
|
Может подскажешь, как сделать...
В некотором классе, мне нужно объявить тип данных record... Что я и сделал Цитата:
Цитата:
Цитата:
Повторюсь (только что проверил) Delphi 7 выдает вышенаписанные ошибки, Delphi 2010 компилирует программу... Последний раз редактировалось NIch, 28.01.2010 в 14:13. |
|
#4
|
||||
|
||||
|
Оставим новые фичи 10-ки в покое, это явно не ваш случай. Вам нужно видимо такое:
Код:
Type TMyRec = record FN,MN,LN: String; end; TMyCalss = class MyRec: TMyRec; end; Var MR: TMyRec; MC: TMyClass; |
|
#5
|
||||
|
||||
|
Весь прикол в том, что я не хочу выносить тип MyRecord за пределы класса...
Какой тогда смысл в отдельном классе...Можно просто в юните объявить все типы данных, переменные и процедуры с функциями... И вообще я не понимаю, почему в классе нелься объявить свой тип данных... Может что то в настройках компилятора изменить...ну или диррективы какие есть...буду копать... Спасибо за ответы... |
|
#6
|
||||
|
||||
|
Цитата:
Делаете так: Код:
Type TMyClass = class T: record A: String; B: String; end; end; |
|
#7
|
||||
|
||||
|
Вот тут хороший пример того что я хочу...
http://www.delphibasics.ru/Record.php Цитата:
Я создаю объект класса и хочу работать только с ним не подключая дополнительных классов или типов данных... А то что это получается внутри класса нельзя использовать type???Только var или const, что то неверится... |
|
#8
|
||||
|
||||
|
Внутри описания класса вообще-то var и const тоже нельзя использовать в обычном виде. Ссылку я посмотрел, но что-то не уловил связи с вашим первоначальным вопросом.
|
|
#9
|
||||
|
||||
|
Млин, поработал с Delphi 2010, нахватался его приколов...
Проверил, type, var и const внутри объявления класса вызывают такие ошибки у Delphi 7... Повторюсь 3-й раз (в последний) в Delphi 2010 это проходит... //************* Страдалецъ спасибо за советы по сабжу...Давай о другом... //************* Подскажи как бы разумнее сделать? Есть TMyRec : record ... end; TMyRec1 : record; .. end; Нужно еще и так Arr : array of TMyRec; Arr1 : array of TMyRec1; Т.е. нужен массив записей... Пробую, пишет "Undeclared identifier TMyRec" оно и понятно, нельзя создать массив переменных))) Не хотелось бы отказываться от удобства примения классов, но видимо придется((( |
|
#10
|
||||
|
||||
|
Почти правильно:
Надо: Type TMyRec = record ... end; TMyRec1 = record .. end; Нужно еще и так Var Arr : array of TMyRec; Arr1 : array of TMyRec1; Не забудьте только задать размер массива SetLength(Arr, 10); |
|
#11
|
||||
|
||||
|
Надо поплотнее D2010 посмотреть, а то я только поставил, посмотрел, что он ничем от D2009 не отличается, вот и ошибся здорово оказывается.
|
|
#12
|
||||
|
||||
|
Цитата:
Цитата:
|