Size: a a a

2020 November 27

z

zamtmn in Delphi & Lazarus
ладно забейте, похоже вы фанатичней меня))
источник

VA

Viktor Akselrod in Delphi & Lazarus
Dmitry Belkevich
для передачи кучи интерегеров, к слову, лучше бы подошла запись чем класс
там внутри пара объектов которые создаются и разрушаются внутри.
так что запись (fpc) не подходит
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Viktor Akselrod
там внутри пара объектов которые создаются и разрушаются внутри.
так что запись (fpc) не подходит
ок. код не смотрел, сорри. обычно если только какие-то данные передать - то записи удобнее
источник

VA

Viktor Akselrod in Delphi & Lazarus
с записью еще могут быть проблемы при передаче по ссылке (если требуется)
так что все как всегда не совсем однозначно 🙂
источник

СП

Сергей Пятыгин... in Delphi & Lazarus
Dmitry Belkevich
для передачи кучи интерегеров, к слову, лучше бы подошла запись чем класс
А где ТЛист создать? В классе есть Креате.
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Viktor Akselrod
с записью еще могут быть проблемы при передаче по ссылке (если требуется)
так что все как всегда не совсем однозначно 🙂
между потоками можно нарваться на вопросы наверно разве что. а так то что там? передали - забрали
источник

SB

Sergey Bodrov in Delphi & Lazarus
В многозадачности самое безопасное - передавать данные целиком (по значению), а не по ссылке.
источник

VA

Viktor Akselrod in Delphi & Lazarus
Dmitry Belkevich
между потоками можно нарваться на вопросы наверно разве что. а так то что там? передали - забрали
не, я к тому, когда надо одну запись протянуть через несколько объектов и в итоге получить доступ именно к этой записи, а не к нее копии
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Viktor Akselrod
не, я к тому, когда надо одну запись протянуть через несколько объектов и в итоге получить доступ именно к этой записи, а не к нее копии
а, ну это да. я то чаще при передаче указателями на запись делаю, что бы копии не плодились
источник

z

zamtmn in Delphi & Lazarus
createExchangeData(out D:TYourData);
freeExchangeData(var D:TYourData);
это если приспичит чтото посоздавать внутри записи
источник

VA

Viktor Akselrod in Delphi & Lazarus
zamtmn
createExchangeData(out D:TYourData);
freeExchangeData(var D:TYourData);
это если приспичит чтото посоздавать внутри записи
речь не про отдельные методы.
а когда запись допустим передается объекту в конструктору и с не в процессе работы производятся манипуляции. все операции уже будут производиться с ее копией (Pointer не предлагать)
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Viktor Akselrod
речь не про отдельные методы.
а когда запись допустим передается объекту в конструктору и с не в процессе работы производятся манипуляции. все операции уже будут производиться с ее копией (Pointer не предлагать)
var то по ссылке передаст оригинал. даже и не как указатель
источник

z

zamtmn in Delphi & Lazarus
Viktor Akselrod
речь не про отдельные методы.
а когда запись допустим передается объекту в конструктору и с не в процессе работы производятся манипуляции. все операции уже будут производиться с ее копией (Pointer не предлагать)
ну это уже как передавать будешь
источник

VA

Viktor Akselrod in Delphi & Lazarus
ну я же написал пример: запись передается в конструктор класса
в классе с этой записью работают, что-то читают, что-то изменяют.
но все эти изменения будут уже с копией записи, а не с тем, что мы передавали в конструктор класса.
источник

DB

Dmitry Belkevich in Delphi & Lazarus
ну так можно через var оригинал передать же
источник

VA

Viktor Akselrod in Delphi & Lazarus
Dmitry Belkevich
ну так можно через var оригинал передать же
Дима, прочитай плз что я написал
источник

z

zamtmn in Delphi & Lazarus
Viktor Akselrod
ну я же написал пример: запись передается в конструктор класса
в классе с этой записью работают, что-то читают, что-то изменяют.
но все эти изменения будут уже с копией записи, а не с тем, что мы передавали в конструктор класса.
моя твоя не понимай. передать можно по ссылке  и по значению (const и constref опустим), выбирай как твоя хочет
источник

DB

Dmitry Belkevich in Delphi & Lazarus
что-то я, Витя, потерялся, сорри :)
что мешает вот так написать и передать оригинал Test в конструктор класса?

constructor Create(var Test: TTestRec);
источник

z

zamtmn in Delphi & Lazarus
класс же всегда по сути передается по ссылке. уже минус относительно записи
источник

DB

Dmitry Belkevich in Delphi & Lazarus
ладно, ок. я что-то слегка наверно нить потерял. да и код не видел
источник