Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

Из initialization   Найти похожие ветки 

 
Anonim-777   (2003-10-30 23:01) [0]

Я так посмотрел в D7, что там стандартно не добавляются разделы initialization и finalization...
Я добавил...
В конце что-то типа такого:
initialization
Form1.Label1.Caption:="OK"; //Если писать просто Label.Caption, то ругается, типа такого нету... с чего бы это???
end.


Так прикол в том, что при компиляции пишет: ошибка там-то...
Плиз, помогите...


 
Vuk ©   (2003-10-30 23:11) [1]

Бр-р-р-р... Язык учить. Срочно. Читать про модули и классы.


 
default ©   (2003-10-30 23:14) [2]

прикол в том, что правильно пишет


 
Zacho ©   (2003-10-30 23:15) [3]

А текст сообщения об ошибке привести ? Перед initialization случайно end. не поставил ?
И если даже скомпилируется, то такой код даст Access Violation при исполнении.

> Если писать просто Label.Caption, то ругается, типа такого
> нету... с чего бы это???

А что, у тебя есть глобальная переменная Label1 ? Или это все-таки поле формы ?
P.S. Почитай какой-нибудь учебник по Object Pascal.


 
Vuk ©   (2003-10-30 23:19) [4]

Да что пишет правильно и работать будет с ошибкой - это все понятно. Просто налицо непонимание того, что такое initialization и finalization а также что такое классы и экземпляры.


 
Anonim-777   (2003-10-30 23:25) [5]

Нет, end не ставил... А почему будет выдавать Access Violation?
Как правильно тогда сделать?
Например в процедурах можно писать просто LAbel1.Caption...а как сделать глобальным?


 
Zacho ©   (2003-10-30 23:38) [6]


> Anonim-777 (30.10.03 23:25) [5]
> А почему будет выдавать Access Violation?

Потому что обращаешся к несушествующему объекту.

> Как правильно тогда сделать?

Сделать это в обработчике события OnCreate формы, а не в initialization.

> Например в процедурах можно писать просто LAbel1.Caption...

Не в процедурах, а в методах класса, почувствуй разницу.

> а как сделать глобальным?

Не надо этого делать.

Почитай все-таки учебники.


 
Anonim-777   (2003-10-30 23:42) [7]

Как? Я же его создал.

> Сделать это в обработчике события OnCreate формы, а не в
> initialization.

А где это? Обьясните ламмеру?

> Не в процедурах, а в методах класса, почувствуй разницу.

Ну да, я это имел ввиду...

> Не надо этого делать.

А как?

И всё-таки - как это правильно реализовать в инитиализе?


 
Beginner3000   (2003-10-31 00:04) [8]

в initialization формы ещё нет
OnCreate - это событие после её создания
RTFM


 
Anonim-777   (2003-10-31 00:08) [9]


> в initialization формы ещё нет

А как сделать, чтобы она была?

> OnCreate - это событие после её создания

А пример его использования можно?


 
Beginner3000   (2003-10-31 00:17) [10]

расшифровываю, да простит меня модератор

READ
THE
FUCKING
MANUALS


 
Zacho ©   (2003-10-31 00:28) [11]

2 Anonim-777 :
Понимаешь, чтобы подробно и понятно тебе ответить на твои вопросы, придется написать нехилого размера статью (или даже книгу). Поэтому лучше изучи какой-нибудь учебник по Object Pascal.
Не обижайся, но явно видно отсутствие базовых знаний.


 
DNS   (2003-10-31 04:21) [12]

Совет (может и поможет): я когда на Делфу с Паскаля переходил - то тоже такие вопросы были (денег на книжку не хватало, инета дома ещё не было :( , так вот посмотри стандартные "Демки" и исходники самой Делфы - там все есть (если долго сидеть то разберёшся методом тыка - работает, не работает)... Только лучше все же книжку купить или закачать ;)


 
Anatoly Podgoretsky ©   (2003-10-31 07:02) [13]

Beginner3000 (31.10.03 00:17) [10]
Не прощу Real Time Function Manager


 
han_malign ©   (2003-10-31 09:35) [14]

> Сделать это в обработчике события OnCreate формы, а не в initialization.
- а вот и фигушки, в OnCreate еще нет окна - в OnShow надоть... Хотя, фиг знает, с изменением размеров раньше падало(в D7, вроде как, OnCreate не до, как раньше, а после конструтора вызывется...)

>Anonim-777 (31.10.03 00:08) [9]
[F11] - Object Inspector
TForm1(в верхнем ComboBox-е)->Events(Закладка)->OnShow - двойной щелчок мышью - и вот она - первая радость крутого кнопкокиделя...


 
han_malign ©   (2003-10-31 09:38) [15]

Вообще, сдается мне - это развод..


 
Zacho ©   (2003-10-31 09:47) [16]


> han_malign © (31.10.03 09:35) [14]
> - а вот и фигушки, в OnCreate еще нет окна - в OnShow надоть...
>

Не правда ваша... Есть.
И OnCreate (а также любой другой метод) принципиально не может вызываться до вызова конструктора, иначе нафиг его вообще вызывать ?


 
Anatoly Podgoretsky ©   (2003-10-31 10:03) [17]

han_malign © (31.10.03 09:38) [15]
Нет это правда


 
Zacho ©   (2003-10-31 10:31) [18]

Как-то сумбурно я написал в Zacho © (31.10.03 09:47) [16]
Уточняю: OnCreate вызывается или из конструктора, или после завершения конструктора, из AfterConstruction (по умолчанию), в зависимости от OldCreateOrder. И в том, и в другом случае экземпляр формы уже существует.



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

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.024 c
3-41108
alexay
2003-10-23 09:20
2003.11.13
SQL monitor


14-42064
zzet
2003-10-21 14:20
2003.11.13
Задача про 12 монет. Возвращение.


1-41697
Endi
2003-11-02 16:17
2003.11.13
Почтовик по умолчанию


1-41622
Dmitriy M. Volkov
2003-10-20 16:42
2003.11.13
сервис


1-41209
slivka
2003-11-01 22:02
2003.11.13
Как открыть ключь реестра при помощи переменной ?