Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.04.17;
Скачать: [xml.tar.bz2];

Вниз

initialization и finalization в модуле   Найти похожие ветки 

 
RUu   (2011-01-17 11:56) [0]

Попытался сделать зачистку на уровне модуля.
initialization
mylist:=TStringList.Create;
finalization
mylist.Free;

Компилятор ругается на mylist, типа не задекларирован. Где еще его надо декларировать? Он и так уже в public.


 
Ega23 ©   (2011-01-17 12:12) [1]


> Он и так уже в public.

В public чего?


 
Palladin ©   (2011-01-17 12:19) [2]

класса конечно... )


> RUu   (17.01.11 11:56) 

а если объектов класса не существует, то где же mylist создастся?
а если я создам несколько объектов твоего класса, в каком именное mylist.free вызовется?


 
RUu   (2011-01-17 12:22) [3]


> В public чего?

этого модуля


> а если объектов класса не существует, то где же mylist создастся?

а как сделать чтоб существовали?


 
Palladin ©   (2011-01-17 12:26) [4]

unit vzryv_mozga_dla_neuchey;
interface
type
 TClass1 = class
 public
   mylist: TStringList;
 end;

 TClass2 = class
 public
   mylist: TStringList;
 end;

implementation
end.


какой из вышеприведенных секций public, public модуля?


 
Palladin ©   (2011-01-17 12:27) [5]


> а как сделать чтоб существовали?

создать их


 
RUu   (2011-01-17 12:31) [6]

У меня 1
class в модуле только.


 
Palladin ©   (2011-01-17 12:32) [7]

и что?


 
RUu   (2011-01-17 12:32) [8]

где создать? там же, в initialization?


 
Ega23 ©   (2011-01-17 12:33) [9]


> где создать? там же, в initialization?

например
Или объявить лист как самостоятельную переменную.


 
Dzmitry.Loktseu ©   (2011-01-17 12:36) [10]

А нафига тебе создавать и удалять список в initialization / finalization, если он в рамках класса? Создавай в конструкторе, удаляй в деструкторе класса в котором он объявлен.


 
RUu   (2011-01-17 12:40) [11]


> unit vzryv_mozga_dla_neuchey;
> interface
> type
>  TClass1 = class
>  public
>    mylist: TStringList;
>  end;
>
>  TClass2 = class
>  public
>    mylist: TStringList;
>  end;
>
> implementation
> end.
>
> какой из вышеприведенных секций public, public модуля?

Чем они принципиально отличаются? В верхней.


 
Palladin ©   (2011-01-17 12:46) [12]

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:50) [13]

В смысле "недалеких"? Я читал книги, но там по этой теме только общие слова, ни строчки кода.


 
Плохиш ©   (2011-01-17 12:51) [14]


> Компилятор ругается на mylist, типа не задекларирован.

Ты компиляторы верь.


 
Плохиш ©   (2011-01-17 12:53) [15]


>  Я читал книги, но там по этой теме только общие слова

По какой теме?

PS. Описание языка начинаетсяс того, что все переменные перед использованием должны быть описаны.


 
Ega23 ©   (2011-01-17 13:04) [16]


> Чем они принципиально отличаются?


Тем, что в твоём случае это поле класса, описанного в секции type
Создавай свой класс, в конструкторе создавай поле, в деструкторе - убивай.
Либо заведи секцию переменных var и объявляй свой лист там.

unit Unit10;

interface

uses Classes;

var
 mylist: TStringList;

implementation

initialization

 mylist:=TStringList.Create;

finalization
 
 mylist.Free;


 
Andy BitOff ©   (2011-01-17 13:41) [17]

Олег все испортил, не дал поглумиться =))


 
Anatoly Podgoretsky ©   (2011-01-17 13:43) [18]


> RUu   (17.01.11 12:32) [8]

Нигде, тебе еще рано работать с initialization


 
Ega23 ©   (2011-01-17 13:45) [19]


> Олег все испортил, не дал поглумиться =))


Да ладно, все когда-то начинали.
"И чушь прекрасную несли" (с)


 
DiamondShark ©   (2011-01-17 13:51) [20]


> Ega23 ©   (17.01.11 13:45) [19]
> Да ладно, все когда-то начинали.

Ты когда-то путал поле класса и переменную модуля? Охотно верю.
Но "Отучаемся говорить за всю сеть" (ц)


 
Ega23 ©   (2011-01-17 13:57) [21]


> Но "Отучаемся говорить за всю сеть" (ц)


Прости, Великий Гуру (бьюсь головой в пол)
Охотно верю, что первыми твоими словами были "Hello world". На COBOL. И уж ты-то никогда в жизни не путал поле класса и переменную модуля.


 
DiamondShark ©   (2011-01-17 14:20) [22]


> Ega23 ©   (17.01.11 13:57) [21]

Молодец. Для первого раза достаточно.
Теперь иди, и не появляйся, пока Я не призову тебя.
Для смирения плоти напишешь 50 раз "Hello world". На COBOL. И не вздумай использовать циклы.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.04.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.004 c
1-1252242428
Ruzzz
2009-09-06 17:07
2011.04.17
Сериализация, хочу найти лучшее решения


15-1294066387
KilkennyCat
2011-01-03 17:53
2011.04.17
В разделе "начинающим" есть про акустический резонанс.


15-1293625833
dmk
2010-12-29 15:30
2011.04.17
Можно ли сделать общий загрузчик


15-1294262997
Юрий
2011-01-06 00:29
2011.04.17
С днем рождения ! 6 января 2011 четверг


15-1294238628
@!!ex
2011-01-05 17:43
2011.04.17
Синхронизация файлов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский