Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как написать опережающее объявления класса?


Страницы:   1 2

TStas ©   (2008-05-06 20:13:00) 

Это есть в книжке по компонентам, только я чего-то никак не могу найти.:(


Anatoly Podgoretsky   (2008-05-16 21:55:00) [1]

Тебе в [1] привели правильный пример и в [9] сказано в чем твоя ошибка, но вот что ты делал в 15 остальных сообщения непонятно.
Ты читай что тебе пишут, а если кто даст неправильный совет, то тут же и погибнет.


TStas   (2008-05-16 21:49:00) [2]

>Нахрена?
Чтобы было сразу видно, где какой класс начинается. Я так привык


Kolan   (2008-05-12 18:03:00) [3]

> Т. е. всё я делал правильно, только я обычно у всех классов
> свой type пишу.

Нахрена?


TStas   (2008-05-12 17:57:00) [4]

А когда в одном Type всё здорово работает


TStas   (2008-05-09 05:11:00) [5]

Т. е. всё я делал правильно, только я обычно у всех классов свой type пишу. В этом-то и было дело... Век живи - век учись, дураком помрёшь!


sniknik   (2008-05-06 23:25:00) [6]

> А ответы ты принципиально не читаешь?
не только ответы, но и там "где комбобокс"... :)


Джо   (2008-05-06 23:23:00) [7]

> [8] TStas ©   (06.05.08 21:11)
> Ой, опять не получается
>
> type
> TNodeList = class; //Опережающее описание типа
>
> type
> TNodeList = class(TList)
> private
>
> public
>   procedure Delete(Index: Integer);
> end;
> //Дельфи грязно ругаются на строке с опережающим описанием:
>
> Type TNodeList is not yet completely defined

Опережающее определение должно быть в пределах *одного* type. Справка же, ну елки-палки.


Anatoly Podgoretsky   (2008-05-06 23:20:00) [8]

Об этом написано в основах.
А ответы ты принципиально не читаешь?


TStas   (2008-05-06 23:15:00) [9]

Если кто знает, как это сделать - скажите. Это точно можно сделать. Об этомв "Искусстве создания компонентов" написано.


korneley   (2008-05-06 21:53:00) [10]


>  Дельфи теперь считает, что это два разных класса

И кто из вас не прав?


TStas   (2008-05-06 21:47:00) [11]

Вот именно DElete мне, в частности, пришлось перекрывать. Дельфи теперь считает, что это два разных класса.


korneley   (2008-05-06 21:45:00) [12]


> TStas ©   (06.05.08 21:29) [10]
> А как правильно сделать-то?

 Правильно - внимательно читать сообщения компилятора. Они не просто сигнал: "Всё плохо". Они еще и путь указывают. Дао, так сказать :)


TStas   (2008-05-06 21:41:00) [13]

Да завершил, а ругаются, точнее, ругались, всё равно и не менее грязно. Я выкрутился просто: раз нужный мне список наследник TList, а то, что в нем должно хранитсься - объект, то в коструктор передаю просто TList.
Вот никак не могу найти в книжке по компонентам, где же опережающее описание типа. Но всё равно, хотелось бы, чтобы код был красивым. Практика показала, что красивый код и работает без глюков.


Anatoly Podgoretsky   (2008-05-06 21:40:00) [14]

> TStas  (06.05.2008 21:29:10)  [10]

Убери второй Type
В справке написано.


korneley   (2008-05-06 21:37:00) [15]


> TStas ©   (06.05.08 21:11) [8]

Ну, и почему не завершаем описание типа? хотя бы

procedure TNodeList.Delete(Index: Integer);
begin
 inherited;
end;


TStas   (2008-05-06 21:29:00) [16]

А как опережающее сделать? Саму-то проблему я режил, в книжке не нажел, кому позвонил, все не знают. А как правильно сделать-то?


Anatoly Podgoretsky   (2008-05-06 21:16:00) [17]

Теперь это не опережающее определение, а два разных класса.
А ты что Дельфи по форуму изучаешь?
Странно и не эффективно.
Дыры в образование будут огромные.


TStas   (2008-05-06 21:11:00) [18]

Ой, опять не получается

type
 TNodeList = class; //Опережающее описание типа

type
 TNodeList = class(TList)
 private

 public
   procedure Delete(Index: Integer);
 end;
//Дельфи грязно ругаются на строке с опережающим описанием:
Type TNodeList is not yet completely defined


Palladin   (2008-05-06 21:09:00) [19]

а... ты в этом смысле... я сразу просто не въехал...


korneley   (2008-05-06 20:52:00) [20]


> Palladin ©   (06.05.08 20:42) [4]
> мнээээ... а я тут причем?

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1209669444&n=3
 пятнадцатый пост :) На клаву, конкретно, никто не давил :))


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо