Size: a a a

2020 February 03

AS

Alexey Shumkin in Delphi & Lazarus
George Bakhtadze
нафига, если первый - true?
а.. ))
чот тупанул ))))))))))
источник

AS

Alexey Shumkin in Delphi & Lazarus
сотрите моё )))))))))))
источник

АР

Александр Сергеевич Рудь in Delphi & Lazarus
Sergey Bodrov
У вариантов при использовании в бинарных операциях есть особенность - они заранее приводятся к одному типу.
два чая этому господину) погуглил, нашел, что:

"Variant можно смешивать (в выражениях и операторах) с другими вариантами, числовыми, строковыми и булевскими данными. При этом компилятор автоматически выполняет преобразование типа."

получается компилятор пытался преобразовать значение некорректного элемента
источник

GB

George Bakhtadze in Delphi & Lazarus
Александр Сергеевич Рудь
всем спасибо, поигрался с флагами {$O} и {B}, результат один и тот же, отладчик заходит в геттер элемента массива. заменил на
   if idx < 0 then
     rndOff := True
   else
     rndOff := Pars[idx].value;
вообще, если он таки вычисляет второй операнд, то это баг из-за вариантов. можно зарепортить.
источник

SB

Sergey Bodrov in Delphi & Lazarus
В данном случае правый операнд OR имеет тип Variant и заранее приводится к типу Boolean, а для этого его нужно вычислить.
источник

АР

Александр Сергеевич Рудь in Delphi & Lazarus
агась
источник

GB

George Bakhtadze in Delphi & Lazarus
Sergey Bodrov
В данном случае правый операнд OR имеет тип Variant и заранее приводится к типу Boolean, а для этого его нужно вычислить.
ясно, багофича. т.е. откровенный баг, который фиксить не будут
источник

SB

Sergey Bodrov in Delphi & Lazarus
Это документированное поведение, методы Cast/CastTo
источник

GB

George Bakhtadze in Delphi & Lazarus
хотя зарепортить стоит :)
источник

AS

Alexey Shumkin in Delphi & Lazarus
Sergey Bodrov
В данном случае правый операнд OR имеет тип Variant и заранее приводится к типу Boolean, а для этого его нужно вычислить.
вопрос бы снялся сразу, если бы глянули в ассемблер, как предлагал Dmitry
источник

DM

Dmitry Mozulyov in Delphi & Lazarus
Alexey Shumkin
вопрос бы снялся сразу, если бы глянули в ассемблер, как предлагал Dmitry
Тока хотел переспросить насчёт дизасма )
источник

DM

Dmitry Mozulyov in Delphi & Lazarus
Не может при дебаге и релизе работать одинаково при одинаковых флагах B и O )
источник

DB

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

DB

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

A

Anthony in Delphi & Lazarus
Кто-нибудь без winapi отслеживал вставку текста для TEdit #lazarus ? Мне нужно при вставке многострочного текста, превратить его в однострочный. Можно конечно попапом или кнопочкой, но думаю, есть более красивый и верный способ.
источник

RS

Renat Suleymanov in Delphi & Lazarus
Anthony
Кто-нибудь без winapi отслеживал вставку текста для TEdit #lazarus ? Мне нужно при вставке многострочного текста, превратить его в однострочный. Можно конечно попапом или кнопочкой, но думаю, есть более красивый и верный способ.
А чем OnChange не подходит?
источник

RS

Renat Suleymanov in Delphi & Lazarus
Если из буфера обмена, то кажется надо смотреть в сторону класса TClipboard
источник

A

Anthony in Delphi & Lazarus
Renat Suleymanov
А чем OnChange не подходит?
Да, конечно, TClipboard, а вот насчёт onChange был не уверен. Работает) Спасибо
источник

АР

Александр Сергеевич Рудь in Delphi & Lazarus
Dmitry Mozulyov
Тока хотел переспросить насчёт дизасма )
привет, да кто б еще умел с ним работать!
источник

DM

Dmitry Mozulyov in Delphi & Lazarus
Александр Сергеевич Рудь
привет, да кто б еще умел с ним работать!
Ставишь брейпоинт, жмёшь Ctrl+Alt+C
источник