![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
initialization и finalization в модуле
RUu © (2011-01-17 11:56:00)Попытался сделать зачистку на уровне модуля.
initialization
mylist:=TStringList.Create;
finalization
mylist.Free;
Компилятор ругается на mylist, типа не задекларирован. Где еще его надо декларировать? Он и так уже в public.
DiamondShark (2011-01-17 14:20:00) [1]
> Ega23 © (17.01.11 13:57) [21]
Молодец. Для первого раза достаточно.
Теперь иди, и не появляйся, пока Я не призову тебя.
Для смирения плоти напишешь 50 раз "Hello world". На COBOL. И не вздумай использовать циклы.
Ega23 (2011-01-17 13:57:00) [2]
> Но "Отучаемся говорить за всю сеть" (ц)
Прости, Великий Гуру (бьюсь головой в пол)
Охотно верю, что первыми твоими словами были "Hello world". На COBOL. И уж ты-то никогда в жизни не путал поле класса и переменную модуля.
DiamondShark (2011-01-17 13:51:00) [3]
> Ega23 © (17.01.11 13:45) [19]
> Да ладно, все когда-то начинали.
Ты когда-то путал поле класса и переменную модуля? Охотно верю.
Но "Отучаемся говорить за всю сеть" (ц)
Ega23 (2011-01-17 13:45:00) [4]
> Олег все испортил, не дал поглумиться =))
Да ладно, все когда-то начинали.
"И чушь прекрасную несли" (с)
Anatoly Podgoretsky (2011-01-17 13:43:00) [5]
> RUu (17.01.11 12:32) [8]
Нигде, тебе еще рано работать с initialization
Andy BitOff (2011-01-17 13:41:00) [6]Олег все испортил, не дал поглумиться =))
Ega23 (2011-01-17 13:04:00) [7]
> Чем они принципиально отличаются?
Тем, что в твоём случае это поле класса, описанного в секции type
Создавай свой класс, в конструкторе создавай поле, в деструкторе - убивай.
Либо заведи секцию переменных var и объявляй свой лист там.
unit Unit10;
interface
uses Classes;
var
mylist: TStringList;
implementation
initialization
mylist:=TStringList.Create;
finalization
mylist.Free;
Плохиш (2011-01-17 12:53:00) [8]
> Я читал книги, но там по этой теме только общие слова
По какой теме?
PS. Описание языка начинаетсяс того, что все переменные перед использованием должны быть описаны.
Плохиш (2011-01-17 12:51:00) [9]
> Компилятор ругается на mylist, типа не задекларирован.
Ты компиляторы верь.
RUu (2011-01-17 12:50:00) [10]В смысле "недалеких"? Я читал книги, но там по этой теме только общие слова, ни строчки кода.
Palladin (2011-01-17 12:46:00) [11]http://www.google.ru/search?client=opera&rls=ru&q=%D0%BE%D0%BE%D0%BF+%D0%B4%D0%BB%D1%8F+%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D1%85&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest
покупай, изучай
недалеких в нашей отрасли более чем достаточно
RUu (2011-01-17 12:40:00) [12]
> unit vzryv_mozga_dla_neuchey;
> interface
> type
> TClass1 = class
> public
> mylist: TStringList;
> end;
>
> TClass2 = class
> public
> mylist: TStringList;
> end;
>
> implementation
> end.
>
> какой из вышеприведенных секций public, public модуля?
Чем они принципиально отличаются? В верхней.
Dzmitry.Loktseu (2011-01-17 12:36:00) [13]А нафига тебе создавать и удалять список в initialization / finalization, если он в рамках класса? Создавай в конструкторе, удаляй в деструкторе класса в котором он объявлен.
Ega23 (2011-01-17 12:33:00) [14]
> где создать? там же, в initialization?
например
Или объявить лист как самостоятельную переменную.
RUu (2011-01-17 12:32:00) [15]где создать? там же, в initialization?
Palladin (2011-01-17 12:32:00) [16]и что?
RUu (2011-01-17 12:31:00) [17]У меня 1
class в модуле только.
Palladin (2011-01-17 12:27:00) [18]
> а как сделать чтоб существовали?
создать их
Palladin (2011-01-17 12:26:00) [19]
unit vzryv_mozga_dla_neuchey;
interface
type
TClass1 = class
public
mylist: TStringList;
end;
TClass2 = class
public
mylist: TStringList;
end;
implementation
end.
какой из вышеприведенных секций public, public модуля?
RUu (2011-01-17 12:22:00) [20]
> В public чего?
этого модуля
> а если объектов класса не существует, то где же mylist создастся?
а как сделать чтоб существовали?