|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
|
Delphi 6-7 Теоретический пробел в TObject.Create01.09.2023, 13:00. Показов 7152. Ответов 180
Метки нет (Все метки)
Приветствую!
Возник у меня некий теоретический пробел по поводу конструктора TObject.Create. C одной стороны, он ведет себя, как функция, возвращающая указатель на созданный экземпляр. С другой стороны, сам Delphi считает его процедурой. В хелпе указано, что TObject.Create выделяет память, но не инициализирует данные. Но память выделяет. А в исходниках все тело конструктора состоит из begin/end. Правильно ли я понимаю, что этот конструктор - что-то типа разновидности команды для препроцессора, где компилятор Delphi, встречая этот вызов, сам организовывает выделение памяти и возвращение адреса созданного экземпляра?
0
|
|
| 01.09.2023, 13:00 | |
|
Ответы с готовыми решениями:
180
Cannot convert 'void (_fastcall * (_closure )(TObject *,char &))(TObject *,char &)' to 'TKeyPressEvent'
TFilestream.create [cannot create file] |
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
||
| 18.09.2023, 01:16 | ||
|
Так что демагогией именно вы занимаетесь.
1
|
||
|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
|||
| 18.09.2023, 08:43 [ТС] | |||
|
0
|
|||
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
|
| 19.09.2023, 02:10 | |
|
0
|
|
|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
||
| 19.09.2023, 08:36 [ТС] | ||
|
Но процедура в моем примере находится в правой части выражения. )))
0
|
||
|
3054 / 1673 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
|
|||
| 19.09.2023, 16:08 | |||
![]()
1
|
|||
|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
|||
| 19.09.2023, 16:26 [ТС] | |||
|
И мой пример как раз и опровергает это "никак и никогда". Но если вернутся к исходной теме треда, то она как раз посвящена тому, что процедура используется, как функция. Напомню, что речь шла про TObject.Create, который формально являясь процедурой, используется, как функция.
0
|
|||
|
1074 / 514 / 41
Регистрация: 05.05.2022
Сообщений: 3,662
|
|
| 19.09.2023, 19:31 | |
|
А в каком месте Create является процедурой и зачем указывать тип, когда он очевиден?
0
|
|
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|
| 19.09.2023, 19:46 | |
|
Create это конструктор, который возвращает ссылку на созданный объект.
0
|
|
|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
|
| 19.09.2023, 20:03 [ТС] | |
|
0
|
|
|
1074 / 514 / 41
Регистрация: 05.05.2022
Сообщений: 3,662
|
|
| 19.09.2023, 20:16 | |
|
Это уже из разряда, когда фанаты HoMM III обиделись на разработчиков за то, что те захотели добавить в мир игры фракцию каких-то роботов, потому что по каким-то там сеттингам, раскрытым в играх, в которые героеводы даже не играли, если вообще слышали об их существовании, мир Might and Magic, оказывается, содержит научную фантастику.
Ни в одной книге по Delphi я не встречал утверждения, что конструктор - это процедура, более того, конструктор с деструктором всегда так именовались конструктором и деструктором, а не "процедурой\функцией, называемой конструктором". На процедуры похожи операторы Exit, Break, Continue, но, очевидно, они таковыми не являются.
0
|
|
|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
||
| 19.09.2023, 21:29 [ТС] | ||
|
0
|
||
|
пофигист широкого профиля
4770 / 3207 / 862
Регистрация: 15.07.2013
Сообщений: 18,615
|
|
| 20.09.2023, 02:18 | |
|
0
|
|
|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
|
| 20.09.2023, 08:38 [ТС] | |
|
0
|
|
|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
||
| 20.09.2023, 18:47 [ТС] | ||
|
Description In Delphi, the Exit procedure immediately passes control away from the current procedure. If the current procedure is the main program, Exit causes the program to terminate. procedure Break; Description The Break procedure causes the flow of control in Delphi code to exit a for, while, or repeat statement and continue at the next statement following the loop statement. procedure Continue; Description In Delphi code, the Continue procedure causes the flow of control to proceed to the next iteration of the enclosing for, while, or repeat statement.
0
|
||
|
1074 / 514 / 41
Регистрация: 05.05.2022
Сообщений: 3,662
|
|
| 20.09.2023, 18:54 | |
|
А ключевые слова if и then тогда тоже процедуры.
0
|
|
|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
||
| 20.09.2023, 19:00 [ТС] | ||
|
If statements ... There are two forms of if statement: if...then and the if...then...else. ...
0
|
||
|
0 / 0 / 0
Регистрация: 02.09.2023
Сообщений: 27
|
||
| 20.09.2023, 19:06 | ||
|
0
|
||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
||
| 20.09.2023, 19:48 | ||
|
0
|
||
|
1074 / 514 / 41
Регистрация: 05.05.2022
Сообщений: 3,662
|
||
| 20.09.2023, 19:52 | ||
|
На заборе написано что? А за забором находится по факту?
0
|
||
|
0 / 0 / 0
Регистрация: 02.09.2023
Сообщений: 27
|
|||||
| 20.09.2023, 20:04 | |||||
|
Добавлено через 7 минут Добавлено через 3 минуты
0
|
|||||
| 20.09.2023, 20:04 | |
|
how can i create mainmenu with any fonts wich i wont and how can i create mainmenu with diferent style? CREATE SEQUENCE - ошибка синтаксиса в "CREATE"
В строке заменить пробел между слов на запятую и пробел Заменить неразрывный пробел NBSP на обычный пробел в файле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|