Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Embarcadero RAD Studio XE5-XE8,10.x(Seattle, Berl

Автор: mrUlugbek
Дата сообщения: 03.12.2013 20:41
Hotfix 2 for RAD Studio XE5, Delphi XE5 and C++Builder XE5
http://cc.embarcadero.com/item/29644
Автор: terranovas
Дата сообщения: 04.12.2013 09:15
Как настроить эмулятор андроид-устройства?
Автор: jonikDk
Дата сообщения: 04.12.2013 11:04
alsterkh

Цитата:
jonikDk, смысла "плавного переползания" не вижу, мне кажется большая потеря времени - поиск/установка/перекомпиляция компонент, это все время, лучше сразу "в конец" ))

Ну так под D2007 у меня есть все компоненты, а под xe5 еще нет. Ну и смысл для меня еще в том, хочу сохранить свои рабочие проекты в 2007, а не в D7, перед взлетом на xe5
Автор: deks
Дата сообщения: 04.12.2013 14:48
jonikDk

Я не вижу смысла портировать старые проекты под новый компилятор.

Новые проекты под новым компилятором? Ну если проекты FMX - то только с применением TMS iCL/mCL (обертки для нативных контрольев). Только нативные контролья в моих тестах показали хоть какие-то приемлемые результаты по производительности!

Хотя про новые мобильные проекты - большой вопрос, зачем их делать на Дельфи. правильнее сделать AppServer, и клиенты для него под все нужные мобильные платформы.
Заделать клиента к серверу REST можно легко на любой современной мобильной платформе, а клиент с применением нативных средств разработки вообще выглядит в разы отзывчивей и правильнее на платформе. Ну - это мое ИМХО.
Автор: delover
Дата сообщения: 05.12.2013 16:11
alsterkh
Думаю что даже под оптимизатором он обязан использовать сравнение с константой 1=true. В ассемблере с оптимизатором именно cmp_1. А просто условие - test al,al.
Из математики процессора мы знаем что cmp1 дольше чем test al_al.

Добавлено:
kot3

Цитата:
А где оговорено его назначение? Не припомню. Тут дело не в боязни новой переменной, а просто порой это единственный способ (без наследования) что-то замутить с существующими компонентами.

Вы криво читаете или слишком быстро. Тут дело именно в боязни новой переменной. Далее был код
if actWillExecuted.Tag=1 then
Exit

При этом программер в проге задействовал аж 5 тэгов с единичками! А Вы кот криво читаете)))
Автор: alsterkh
Дата сообщения: 06.12.2013 08:18
delover, я ж не говорил ничего про конкретную команду, а лишь о том, что она будет одна и та же из-за работы оптимизатора
Автор: delover
Дата сообщения: 06.12.2013 10:17
alsterkh

Цитата:
а лишь о том, что она будет одна и та же из-за работы оптимизатора

if Condition then
Это всегда компилируется как Condition сравнить с нулём test al,al. Тогда как true=1 то есть сравнение с 1. То есть константы разные, выражения разные и оптимизатор даже не при чём.
Автор: MGAlex
Дата сообщения: 06.12.2013 11:25
terranovas

Цитата:
Как настроить эмулятор андроид-устройства?

http://forum.ru-board.com/topic.cgi?forum=33&topic=13825&start=80#19
Автор: Arioch1
Дата сообщения: 06.12.2013 11:58

Цитата:
Это всегда компилируется как Condition сравнить с нулём test al,al.


Потому что очевидно правильное сравнение - if value <> false, а не if value = true

Это как со сравнением double'ов. Теория теорией, а на практике надо сравниват ьс заданнйо точностью
Автор: X11
Дата сообщения: 06.12.2013 13:48

Цитата:
а может выложить fmx куда-нибудь в svn или git - и всем вместе запилить свой fmx без багов и с прекрасными дамами? )))


да, было бы супер
Автор: MGAlex
Дата сообщения: 06.12.2013 14:27
alsterkh
Результат, безусловно, будет один и тот же. Просто не имеет смысла писать if boolean = true then
Если перевести это на человеческий язык, то получим следующее: если истина = истина тогда
Можно и так написать: if (boolean = true) = true then, результат будет один и тот же, вопрос, зачем?
Автор: Frodo_Torbins
Дата сообщения: 06.12.2013 15:42
X11
Уже сделано. Называется сие творение ORCA и развивается под крылом CodeTyphon. И я сильно сомневаюсь, что оно хоть немного легальное.
Автор: Alexey_Gawrilow
Дата сообщения: 06.12.2013 23:18
Frodo_Torbins

Цитата:
И я сильно сомневаюсь, что оно хоть немного легальное.


Победителей не судят.

Вспомним несколько фактов.

Embarcadero с их "обращением" с FPC при ранней поддержке iOS.
Embarcadero с их "обращением" с остальной часью сообщества при покупке AnyDAC.
Embarcadero с их "обращением" RemObjects.
Devrace c их "обращением" FibPlus.
Cообщество добавит некрасивых фактов.

Из конца в конец можно оттолкнутся от VGScene или даже HTMLLite.


Тут не речь о конкретной фирме.

Тут речь о экосистеме.

Чтобы не стать как COBOL, Clipper-Fox, Cообщество добавит..
Автор: ChSerg
Дата сообщения: 07.12.2013 14:51
хотел попробовать REST-библиотеку, тут такое пишут:
http://www.michaelainsworth.id.au/2013/11/embarcadero-datasnap-rest
соответствует действительности?
Автор: valgreesh
Дата сообщения: 07.12.2013 21:10
ChSerg

Цитата:
соответствует действительности?

Когда я посмотрел на их реализацию REST пришел к такому же выводу, увы. Контора превратилась в продавца базвордов
Автор: Alexzzy
Дата сообщения: 08.12.2013 21:33

Цитата:
хотел попробовать REST-библиотеку, тут такое пишут:

Почитал. Прикольно... Как обычно - хотят объять ВСЁ, прикладывая минимум усилий. Что-то где-то и когда-то может и работает...
Автор: VadimLou
Дата сообщения: 09.12.2013 03:53
Для rest есть альтернативная opensource реализация - mORMot:
http://synopse.info/fossil/wiki/Synopse+OpenSource
Автор: delover
Дата сообщения: 09.12.2013 10:14
MGAlex

Цитата:
результат будет один и тот же, вопрос, зачем?

Я же писал про это. Например чтобы под ассемблерным дебагом плохо читалось. В тексе

Код: if boolean=true then
Автор: MGAlex
Дата сообщения: 09.12.2013 17:17

Цитата:
Я бы за теги просто расстрелливал бы на месте

В каком смысле?
Автор: Alexzzy
Дата сообщения: 09.12.2013 21:28

Цитата:
В каком смысле?

Поддерживаю вопрос. Tag - обычное user defined свойство и иногда полезное (что бы лишнего не городить).
Автор: ChSerg
Дата сообщения: 10.12.2013 07:58
delover

Цитата:
Код:
if boolean=true then

вот так еще более понятно

Код: if boolean then
Автор: De Niro
Дата сообщения: 11.12.2013 20:09
На страничке Ошибки, написано что проблема решена в сборке XE5 Update 2. Но в Fix List почему-то нет упоминаний об исправлении этого бага.
Если кто обновился, посмотрите пожалуйста, поправлен баг или нет.
Автор: delover
Дата сообщения: 12.12.2013 16:26
ChSerg

Цитата:
Если бы еще Tag имело тип TValue или на худой конец - Variant...

Вот именно. Если бы оно имело тип Variant как в Delphi .NET я бы никого не расстрелливал - не пришлось бы.
ChSerg

Цитата:
if boolean=true then
вот так еще более понятно
Код: if boolean then

Простите, не увидел разницы, скорее всего у меня замылился взгляд...

MGAlex
Alexzzy

Цитата:
Я бы за теги просто расстрелливал бы на месте В каком смысле?

В проекте, где коллективная разработка, я бы натуральным образом, кувалдой, лопатой, ружьём, чем угодно, я бы умерщвлял бы кодеров которые пишут

Код:
Component.Tag := IntegerConst;
if Component.Tag = IntegerConst then
Автор: MGAlex
Дата сообщения: 12.12.2013 18:42

Цитата:

Код: Component.Tag := IntegerConst;
if Component.Tag = IntegerConst then
Автор: delover
Дата сообщения: 12.12.2013 19:37
MGAlex

Цитата:
Если Вы считаете, что что-то должно быть только так, как Вы хотите, а остальное не имеет место быть, то Вы заблуждаетесь.

Желания - непозволительная роскошь. Опыт, друг мой, не зависящий от меня нужно передавать другим.


Цитата:
Вы к чему-то приплетаете Variant

Это не я прицепил. Я знаком с Delphi8 .NET со времени её появления, но я не первый прилепил к Tag тип Variant (в Delphi8 (это до Delphi 2005) Tag=Variant). ChSerg это начал, и если читать точнее, то он хотел тип TValue в чём ему респекты.


Цитата:
Для меня очень удобно, что tag - integer.

+1 Сто пятьсот за Вас. Только когда я поработаю - я следов не оставляю. Найдите в исходниках DelphiVCL использование свойства Tag.


Цитата:
Component.Tag := IntegerConst; if Component.Tag = IntegerConst then И что в этом дурного, позвольте осведомиться?


Ламер программист писал так. Цель его программы - выполнить одну операцию. Ну и всякие бантики. Так вот после выполнения операции он пишет actionX.Tag=1, чтобы потом не накосячить в программе, он уже сделал что нужно. Но в этой истории одна фигня произошла. Эту программу читает другой кодер - я.

Я утвержнаю что actionX.Tag это то же самое что

Код:
var
MyVariableNamedAsPIZDATOE_NAZVAINE: Boolean
begin
if actionX.Tag=1 then
MyVariableNamedAsPIZDATOE_NAZVAINE := True
Автор: Alexzzy
Дата сообщения: 12.12.2013 19:43
delover
Ответа про Tag так и нет. Из приведенного видно, что запихнуть в Tag Integer - это плохо, а Pointer - это хорошо. Интересное мнение... А то что многие используют его не по назначению, неправильно, то это уже отдельная история...
Автор: MGAlex
Дата сообщения: 12.12.2013 19:48

Цитата:
Я знаком с Delphi8 .NET

Это здорово, но мы в несколько в иной теме находимся.


Цитата:
Найдите в исходниках DelphiVCL использование свойства Tag.

Если в исходниках Delphi это свойство не используется, это не значит, что его вообще не нужно использовать. Если это свойство присутствует, почему бы его не использовать? Главное, обнулять его, как и переменную и проблем не будет.


Цитата:
он пишет actionX.Tag=1

Что такое actionX.Tag=1? Где и для чего это используется?


Цитата:
Я фуету эту со свойством Tag вижу с 2006 года (7 лет). А Вы сколько?

Я не пойму, что Вы имеете в виду? И что мне должен сказать приведенный пример?
Автор: Alexzzy
Дата сообщения: 12.12.2013 20:30
Вот, кстати, недавний пример (отсюда и далее) где можно Tag использовать не мудря ничего лишнего.

Автор: delover
Дата сообщения: 13.12.2013 05:49

Цитата:
Я не пойму, что Вы имеете в виду?

Вот например приведу реальный код, пока не комментирую - нужно ваше мнение
[more=Поиск ".Tag"]
Код: [no]
Удалено, не актуально[/no]
Автор: alsterkh
Дата сообщения: 13.12.2013 07:34
Использование Tag снижает читаемость кода как другими людьми, так и самим разработчиком через некоторое время. Но Tag программист вправе использовать по своему усмотрению.
Я думаю это как с названиями переменных. Их наименование должно отражать ее назначение, но для небольших циклов типа "for" допускается использовать однобуквенную переменную, если код внутри цикла не сложен и относительно небольшой.
Т.е. если в Tag сохраняется важное значение, которое ХЕЗ (хер его знает) где может быть использовано, то это плохо. А если в Tag сохраняется что-то простое и вот оно прямо тут и используется, то - на здоровье.
П.С. Вообще странная тема для форума по XE5. Больше методологией попахивает.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129

Предыдущая тема: Отмена встречи в Outlook из Excel VBA


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.