|
|
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Где-то читал, что ссылочным типам не нужно ставить var Есть у меня процедура Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. И правильно ли я понимаю, что при создании нового объекта внутри этой процедуры я получаю новую ссылку и тогда мне нужно использовать var А может переписать этот говнокод? А то ссылка на ссылку не очень. Но напишите, не просто переписать!! а как вы думаете лучше переписать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 16:11 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Pointer - PInteger - PString = Не нужен var Правильное присвоение по указателю Код: pascal 1. TObject - Integer - String =var Нужен (Исключительно когда надо вернуть из процедуры по параметру) Так как это прямые значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 16:25 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
cptngrb, Где-то читал, что ссылочным типам не нужно ставить var Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 16:33 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Gerasimenkocptngrb, Где-то читал, что ссылочным типам не нужно ставить var Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Промахнулся малость var _FDQuery: ^TFDQuery; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 16:35 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Gerasimenko, Зачем делать внутри функции ещё одну переменную ? Если в объявление аргументов можно было бы задать данный тип ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 16:38 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Gerasimenko, при таком и мой код будет работать, а если добавить строчку Код: pascal 1. То что получиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 16:46 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
ГирлионайльдоGerasimenko, Зачем делать внутри функции ещё одну переменную ? Если в объявление аргументов можно было бы задать данный тип Потому что Pointer при передаче параметров должен оставаться Pointer - ом. Особенно в сложных конструкциях... Сугубо личное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 16:48 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Gerasimenko, Полный бред. Сейчас я тебе это докажу - Он в любом случае будет Pointer Просто компилятор будет знать, что с этим типом делать дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 16:49 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
cptngrb, Может ты пойдёшь сначала писать программки уровня А + Б ? Так как явное непонимание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 16:50 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
ГирлионайльдоGerasimenko, Полный бред. Сейчас я тебе это докажу - Он в любом случае будет Pointer Просто компилятор будет знать, что с этим типом делать дальше. Case myTypeObject of ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 16:51 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Gerasimenko, К чему такие костыли ? Код, объявленной переменной, в скомпилированном виде, будет иметь тип Uint32 или 64 в 64bit-ном компиляторе Что предполагает, что бессмысленно объявлять вторую переменную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 16:56 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
ГирлионайльдоGerasimenko, К чему такие костыли ? Код, объявленной переменной, в скомпилированном виде, будет иметь тип Uint32 или 64 в 64bit-ном компиляторе Что предполагает, что бессмысленно объявлять вторую переменную Я ничего не предлагаю. Я показал один из вариантов. В сложных конструкциях очень удобный. В простых, используемый для однообразия (удобства читаемости) кода. Вы поступайте, как Вам угодно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 17:01 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Gerasimenko, Ну ладно, ладно. Я не ожидал такого подхода, как всовывание более 1 хрена в одну щель ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 17:07 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
ГирлионайльдоGerasimenko, Ну ладно, ладно. Я не ожидал такого подхода, как всовывание более 1 хрена в одну щель Ты даже не понял, о чем я... Ну да ладно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 17:11 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
cptngrbИ правильно ли я понимаю, что при создании нового объекта внутри этой процедуры я получаю новую ссылку и тогда мне нужно использовать var Да, если тебе нужно, чтобы в вызываемом коде ссылке, преданная как параметр в эту процедуру, тоже стала указывать на созданный в пооцедуре объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 17:37 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
cptngrbИ правильно ли я понимаю, что при создании нового объекта внутри этой процедуры я получаю новую ссылку и тогда мне нужно использовать var Правильно cptngrbА может переписать этот говнокод? А то ссылка на ссылку не очень. Но напишите, не просто переписать!! а как вы думаете лучше переписать? Либо эта процедура вовсе не нужна, либо ей не хватает нескольких вещей: 1. нормальное название, а то нихрена не понятно нафига она 2. Типизированные входящие и выхлопные аргументы (нафига один аргумент использовать для данных разных типов?) 3. Описать, что ты хочешь этой процедурой достичь. Хотя бы для себя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 17:39 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
GerasimenkoТы даже не понял, о чем я... Ну да ладно... Я понял что ты в одну дырку любишь пихать всё подрят, и думать только потом, о последствиях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 18:35 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Dimonka, 1. я в этой процедуре присваиваю данные моему объекту 2. используется разные параметры, т.к. использую разные объекты для Windows и Linux 3. хотя бы для себя я уже все описал)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 18:57 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдо, я так и пишу A+ Б захотел добавить умножение, а Вы какашкой кидаетесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 18:58 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
cptngrb, Если ты создаёшь объект, то возвращай его через Result обычный function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 18:59 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
и как я понял, вариант с параметром pointer остался как самый красивый и только для тех, кто умеет уже писать программы сложнее А+Б. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2018, 19:00 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
cptngrbDimonka, 1. я в этой процедуре присваиваю данные моему объектуЗвучит примерно как: чтобы написать программу, я стучу пальцами по клавиатуре. cptngrb2. используется разные параметры, т.к. использую разные объекты для Windows и LinuxИспользуй разные процедуры, если не можешь типизировать в одной. Либо делай фасады для платформенных обьектов с единым интерфейсом. Все твои потуги с Pointer - лишь усугубят всю неправильность ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 12:54 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Dimonka, если вы не стучите по клавиатуре, когда пишите программу, то мое вам почтение. По поводу разных разных процедур. Я хочу разные процедуры объединить в одну и для этого решил использовать TObject в качестве параметра вместо TOracleQuery и TFDQuery. Работает это, в моем случае, если параметр передавать как var AObject: TObject , то на первый взгляд работает как надо. У форумчан хотелось узнать, что можно ли так делать? (это раз) нужно ли так делать? (это два). Какие грабли впереди... Dimonkaделай фасады для платформенных обьектов с единым интерфейсом примерно такое и хотелось услышать желательно с примером ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2018, 17:06 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
cptngrbDimonkaделай фасады для платформенных обьектов с единым интерфейсом примерно такое и хотелось услышать желательно с примером Ну так сделай интерфейс для управления своими запросами: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2018, 13:28 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Dimonka, так и сделаю, когда надоест процедуры шлепать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2018, 16:31 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
автортогда мне нужно использовать var Да. Но вообще, тоже люблю процедуры писать, а потом их на функции переделывать, когда всё начинает выглядеть через одно место... Кто-то использует with?? ЖуДь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2018, 16:04 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Beltar, удобно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 11:37 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
BeltarКто-то использует with?? ЖуДь... Код: pascal 1. 2. 3. 4. Либо же Код: pascal 1. 2. 3. 4. 5. 6. 7. Ой какая жуть! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 11:47 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
ГирлионайльдоЛибо же Код: pascal 1. 2. 3. 4. 5. 6. 7. Ой какая жуть!Либо Код: pascal 1. 2. 3. 4. 5. Без всякой неоднозначности и глюков отладчика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 13:20 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Я раньше использовал, теперь наоборот, набрал имя объекта, поставил точку и смотришь, как же зовут это очень нужное поле. Код: pascal 1. 2. 3. 4. 5. Именно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 14:24 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Beltar, А я скажу больше. Переходишь в begin ... end и нажимаешь ctrl + пробел. Или просто начинаешь набирать текст, и он автоматически подхватывает всё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2018, 17:13 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
Например то, что относится к форме, если код находится в одном из ее методов. Ну или иного класса. Он же не знает, хочешь ты с этого класса что-то взять, или с того, что через with идет. Я вообще не расстроюсь, если with исключат из языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2018, 08:47 |
|
||
|
передача в процедуре в качестве параметра var TObject
|
|||
|---|---|---|---|
|
#18+
BeltarЯ вообще не расстроюсь, если with исключат из языка. С введением инлайн переменных, если уже можно делать так Код: pascal 1. 2. Не исключено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2018, 11:37 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2040086]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 493ms |

| 0 / 0 |
