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

Вниз

Из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.034 c
1-41273
First_May
2003-10-31 09:20
2003.11.13
TActiveForm


3-40929
DelphiNew
2003-10-25 14:37
2003.11.13
Type mismatch in expression


3-41058
AbrosimovA
2003-10-24 10:18
2003.11.13
Возникает ошибка при упаковке таблицы DBase


3-40860
Inkotex
2003-10-21 12:47
2003.11.13
Где можна сохранить графику в програме?


1-41290
_Agent_
2003-11-04 17:16
2003.11.13
Вопрос по Thread, мож кто прояснит в чём дело...





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский