|
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] |
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|||
| 09.09.2023, 18:34 | |||
|
Добавлено через 4 минуты Правда, я забыл, стек один на весь процесс или у каждого потока свой? Но это не принципиально, в принципе.
0
|
|||
|
0 / 0 / 0
Регистрация: 02.09.2023
Сообщений: 27
|
|||||
| 09.09.2023, 19:09 | |||||
|
Кстати, я тоже не стал бы это называть полиморфизмом. В самом крайнем случае - использованием полиморфизма. Там где есть ветки - там нет полиморфизма. Это по определению. Добавлено через 18 минут Добавлено через 6 минут Кстати, кто такие хелперы?
0
|
|||||
|
1074 / 514 / 41
Регистрация: 05.05.2022
Сообщений: 3,662
|
||
| 09.09.2023, 19:15 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 02.09.2023
Сообщений: 27
|
||
| 09.09.2023, 19:21 | ||
|
0
|
||
|
1074 / 514 / 41
Регистрация: 05.05.2022
Сообщений: 3,662
|
|||||||
| 09.09.2023, 19:24 | |||||||
|
ShowMessage(N.ToString); Реализация на примере добавления кнопке TSpeedButton свойства Checked из реального проекта, причем перед этим там уже был написан код под TCheckBox, у которого это свойство есть, но я решил сделать свой чекбокс из кнопки, устанавливая\снимая картинку, т. е. хелпер чутка уменьшал переделки.
2
|
|||||||
|
0 / 0 / 0
Регистрация: 02.09.2023
Сообщений: 27
|
|||
| 09.09.2023, 19:38 | |||
|
И кто такие юнионы? Мы ещё в Дельфи? Добавлено через 9 минут
0
|
|||
|
1074 / 514 / 41
Регистрация: 05.05.2022
Сообщений: 3,662
|
||
| 09.09.2023, 19:47 | ||
|
Юнионы - это записи с вариантными полями. Да я пальцы сломаю, такое печатать. Термин из Си просто короче. А вообще они как бы deprecated. Но я против. Я как должен без них байты размечать??
0
|
||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|
| 09.09.2023, 20:16 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2023
Сообщений: 27
|
||||
| 09.09.2023, 20:54 | ||||
|
Я городил огород, чтоб таким образом показать Beltar-у, что манипуляции с определениями очень легко вывернуть в противоположную сторону. А, вообще, процедура и функция - это очень старые понятия, у которых давно есть строгие определения, не нуждающиеся в уточнении. И возникли они до появления Си, до появления Паскаля. Верно замечено, что они определяются через подпрограмму. Функция - подпрограмма, возвращающая значение. Процедура - подпрограмма, не возвращающая значение. Всё! Можно добавить сложноподчинённых рюшечек, на любителя. А последняя фраза не есть определение - следствие. По крайней мере, я ни разу не видел системы определений выворачивающей из-за этоо угла. ))) Добавлено через 11 минут Добавлено через 17 минут
0
|
||||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
||
| 09.09.2023, 21:10 | ||
|
0
|
||
|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
|||||
| 09.09.2023, 22:40 [ТС] | |||||
|
Добавлено через 3 минуты Object'ы при том же функционале вполне себе существуют в стеке. А если отойти от Delphi в сторону c++, то там экземпляры создаются там, где нужно разработчику. Или там какой-то другой стек?))))) Добавлено через 7 минут Добавлено через 2 минуты
0
|
|||||
|
0 / 0 / 0
Регистрация: 02.09.2023
Сообщений: 27
|
||||
| 09.09.2023, 22:43 | ||||
|
0
|
||||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|||
| 09.09.2023, 22:47 | |||
|
Добавлено через 24 секунды
0
|
|||
|
0 / 0 / 0
Регистрация: 02.09.2023
Сообщений: 27
|
|
| 09.09.2023, 22:49 | |
|
0
|
|
|
1074 / 514 / 41
Регистрация: 05.05.2022
Сообщений: 3,662
|
||||
| 09.09.2023, 22:49 | ||||
|
Так-то статистически у меня, наверное, 95% случаев использования данной функции - это ToString, но даже это полезно.
0
|
||||
|
Модератор
4153 / 2362 / 814
Регистрация: 15.11.2015
Сообщений: 9,496
|
|
| 09.09.2023, 22:51 | |
|
0
|
|
|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
||
| 09.09.2023, 22:52 [ТС] | ||
|
Правда, под c++, а не под Delphi. Но стек ведь тот же?
0
|
||
|
0 / 0 / 0
Регистрация: 02.09.2023
Сообщений: 27
|
|||
| 09.09.2023, 22:54 | |||
|
Добавлено через 1 минуту
0
|
|||
|
242 / 208 / 36
Регистрация: 19.02.2021
Сообщений: 1,431
|
||
| 09.09.2023, 22:54 [ТС] | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 02.09.2023
Сообщений: 27
|
|||
| 09.09.2023, 23:04 | |||
|
Добавлено через 7 минут
0
|
|||
| 09.09.2023, 23: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
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|