Size: a a a

2020 February 20

ГМ

Геннадий Малинин in Delphi & Lazarus
Viktor Akselrod
А чем лучше?
Не чем для отдельного случая, лучше в общем случае.

Выписка из документации:
"Tests for a nil (unassigned) pointer or procedural variable.

Use Assigned to determine whether the pointer or the procedure referenced by P is nil. P must be a variable reference of a pointer or procedural type.

Assigned(P) corresponds to the test P <> nil for a pointer variable, and @P <> nil for a procedural variable."
источник

VA

Viktor Akselrod in Delphi & Lazarus
Геннадий Малинин
Не чем для отдельного случая, лучше в общем случае.

Выписка из документации:
"Tests for a nil (unassigned) pointer or procedural variable.

Use Assigned to determine whether the pointer or the procedure referenced by P is nil. P must be a variable reference of a pointer or procedural type.

Assigned(P) corresponds to the test P <> nil for a pointer variable, and @P <> nil for a procedural variable."
я интересовался именно в контексте проверки ссылки на инстанс
источник

Дt

Дмитрий texnix 🇨🇳 in Delphi & Lazarus
ну какбы это одно и то же? не?
источник

VA

Viktor Akselrod in Delphi & Lazarus
Дмитрий texnix 🇨🇳
ну какбы это одно и то же? не?
для обычных ссылок - да
источник

ГМ

Геннадий Малинин in Delphi & Lazarus
Дмитрий texnix 🇨🇳
ну какбы это одно и то же? не?
Для проверки инстанса - да
источник

ГМ

Геннадий Малинин in Delphi & Lazarus
Дмитрий texnix 🇨🇳
так что всё работает
Но не надо там проверок ставить. Нужно узнать, почему вызывается до создания
источник

ГМ

Геннадий Малинин in Delphi & Lazarus
Это может повлечь за собой другие ошибки
источник

ГМ

Геннадий Малинин in Delphi & Lazarus
Тем более, что проверка <> nil, пройдет, если объект освобожден. Т.е. по сути ссылка указывает на мусор, что вызовет Access Violation
источник

ГМ

Геннадий Малинин in Delphi & Lazarus
При старте программы FChannels = nil, но если его создать, а затем только освободить FChannels.Free;, то ты всё равно получишь ошибку.
Чтоб ошибки не было нужно ещё и FChannels := nil; выполнить
источник

Дt

Дмитрий texnix 🇨🇳 in Delphi & Lazarus
freeandnil()
источник

ГМ

Геннадий Малинин in Delphi & Lazarus
Ага
источник

ГМ

Геннадий Малинин in Delphi & Lazarus
Но, повторяю, не надо там проверок ставить. Нужно узнать, почему вызывается до создания
источник

AI

Alexander Ivanov in Delphi & Lazarus
Nik
и после ХЕ8 возвращался на д7.. радости очень мало..
👍👍👍👍
источник

AI

Alexander Ivanov in Delphi & Lazarus
Скайп не только тормозит потому, что написан на электроне, но и потому что typescript и куча всяких там запросов. Столько запросов, сколько делает скайп при загрузке сложно придумать. И главное понять, зачем все это. Ну сделали бы один websocket на все про все и работало бы относительно быстро. Но там 3 блока, которые могут работать в режиме rest api и https запросов, но также в режиме websocket. Для некоторых подключений необходимо вызвать 2-3 запроса, чтобы это заработало. И потом вся эта каша начинает выезжать то тут, то там. И еще существует некоторая разница между skype и webskype и их протоколами видео/аудио связи. Большего говнокодинга чем у них я просто не видел. Видимо индусы за еду работают.
источник

AI

Alexander Ivanov in Delphi & Lazarus
Я бы лично всех разработчиков skype разогнал и набрал бы нормальных под каждую конкретную платформу.
источник

Дt

Дмитрий texnix 🇨🇳 in Delphi & Lazarus
Геннадий Малинин
Но, повторяю, не надо там проверок ставить. Нужно узнать, почему вызывается до создания
так тыж сам сказал что все объекты создаются раньше oncreate, потому и вызывается до создания
источник

Дt

Дмитрий texnix 🇨🇳 in Delphi & Lazarus
Alexander Ivanov
Я бы лично всех разработчиков skype разогнал и набрал бы нормальных под каждую конкретную платформу.
в микрософте индусы вроде составляют большинство
источник

ГМ

Геннадий Малинин in Delphi & Lazarus
Дмитрий texnix 🇨🇳
так тыж сам сказал что все объекты создаются раньше oncreate, потому и вызывается до создания
Все объекты на форме, да, конечно. Но отрисовка не вызывается, пока окно не отображается и тем более, создаётся.
источник

Дt

Дмитрий texnix 🇨🇳 in Delphi & Lazarus
а как узнать что вызвало отрисовку? как сделать шаг назад в делфи?
источник

AI

Alexander Ivanov in Delphi & Lazarus
Дмитрий texnix 🇨🇳
в микрософте индусы вроде составляют большинство
Это не повод так говнокодить. Тем более они порезали skype 7, могли бы весь зоопарк версий привести к чему-то более простому и надежному api.
источник