Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];
ВнизКак написать опережающее объявления класса? Найти похожие ветки
← →
TStas © (2008-05-06 20:13) [0]Это есть в книжке по компонентам, только я чего-то никак не могу найти.:(
← →
Джо © (2008-05-06 20:17) [1]
type
TClass = class;
...
TClass = class
bla-bla
end;
← →
TStas © (2008-05-06 20:22) [2]Спасибо, Джо. Только я нашел уже. В модуле, где комбобокс описан это сделано. Там и нашёл. :) Но спасибо всё равно. :)
← →
korneley © (2008-05-06 20:41) [3]
> 2 Palladin
В будущий проект. особенно порадовало "где комбобокс"
← →
Palladin © (2008-05-06 20:42) [4]мнээээ... а я тут причем?
← →
Джо © (2008-05-06 20:44) [5]> [4] Palladin © (06.05.08 20:42)
> мнээээ... а я тут причем?
Нелегко быть известной личностью, на улицах пристают, всюду цитируют :D
← →
korneley © (2008-05-06 20:52) [6]
> Palladin © (06.05.08 20:42) [4]
> мнээээ... а я тут причем?
http://delphimaster.net/view/15-1209669444/
пятнадцатый пост :) На клаву, конкретно, никто не давил :))
← →
Palladin © (2008-05-06 21:09) [7]а... ты в этом смысле... я сразу просто не въехал...
← →
TStas © (2008-05-06 21:11) [8]Ой, опять не получается
type
TNodeList = class; //Опережающее описание типа
type
TNodeList = class(TList)
private
public
procedure Delete(Index: Integer);
end;
//Дельфи грязно ругаются на строке с опережающим описанием:
Type TNodeList is not yet completely defined
← →
Anatoly Podgoretsky © (2008-05-06 21:16) [9]Теперь это не опережающее определение, а два разных класса.
А ты что Дельфи по форуму изучаешь?
Странно и не эффективно.
Дыры в образование будут огромные.
← →
TStas © (2008-05-06 21:29) [10]А как опережающее сделать? Саму-то проблему я режил, в книжке не нажел, кому позвонил, все не знают. А как правильно сделать-то?
← →
korneley © (2008-05-06 21:37) [11]
> TStas © (06.05.08 21:11) [8]
Ну, и почему не завершаем описание типа? хотя бы
procedure TNodeList.Delete(Index: Integer);
begin
inherited;
end;
← →
Anatoly Podgoretsky © (2008-05-06 21:40) [12]> TStas (06.05.2008 21:29:10) [10]
Убери второй Type
В справке написано.
← →
TStas © (2008-05-06 21:41) [13]Да завершил, а ругаются, точнее, ругались, всё равно и не менее грязно. Я выкрутился просто: раз нужный мне список наследник TList, а то, что в нем должно хранитсься - объект, то в коструктор передаю просто TList.
Вот никак не могу найти в книжке по компонентам, где же опережающее описание типа. Но всё равно, хотелось бы, чтобы код был красивым. Практика показала, что красивый код и работает без глюков.
← →
korneley © (2008-05-06 21:45) [14]
> TStas © (06.05.08 21:29) [10]
> А как правильно сделать-то?
Правильно - внимательно читать сообщения компилятора. Они не просто сигнал: "Всё плохо". Они еще и путь указывают. Дао, так сказать :)
← →
TStas © (2008-05-06 21:47) [15]Вот именно DElete мне, в частности, пришлось перекрывать. Дельфи теперь считает, что это два разных класса.
← →
korneley © (2008-05-06 21:53) [16]
> Дельфи теперь считает, что это два разных класса
И кто из вас не прав?
← →
TStas © (2008-05-06 23:15) [17]Если кто знает, как это сделать - скажите. Это точно можно сделать. Об этомв "Искусстве создания компонентов" написано.
← →
Anatoly Podgoretsky © (2008-05-06 23:20) [18]Об этом написано в основах.
А ответы ты принципиально не читаешь?
← →
Джо © (2008-05-06 23:23) [19]> [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. Справка же, ну елки-палки.
← →
sniknik © (2008-05-06 23:25) [20]> А ответы ты принципиально не читаешь?
не только ответы, но и там "где комбобокс"... :)
← →
TStas © (2008-05-09 05:11) [21]Т. е. всё я делал правильно, только я обычно у всех классов свой type пишу. В этом-то и было дело... Век живи - век учись, дураком помрёшь!
← →
TStas © (2008-05-12 17:57) [22]А когда в одном Type всё здорово работает
← →
Kolan © (2008-05-12 18:03) [23]> Т. е. всё я делал правильно, только я обычно у всех классов
> свой type пишу.
Нахрена?
← →
TStas © (2008-05-16 21:49) [24]>Нахрена?
Чтобы было сразу видно, где какой класс начинается. Я так привык
← →
Anatoly Podgoretsky © (2008-05-16 21:55) [25]Тебе в [1] привели правильный пример и в [9] сказано в чем твоя ошибка, но вот что ты делал в 15 остальных сообщения непонятно.
Ты читай что тебе пишут, а если кто даст неправильный совет, то тут же и погибнет.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.06.08;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.062 c