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

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

Автор: LadyOfWood
Дата сообщения: 08.04.2015 16:52

Цитата:
мне религия не позволяет такие сокеты.

Вопрос в том, что позволяет родное api OS. Там вообще неблокирующие сокеты есть?
Автор: AlekXL
Дата сообщения: 08.04.2015 18:32

Цитата:
Вопрос в том, что позволяет родное api OS. Там вообще неблокирующие сокеты есть?

я вроде бы давно как то слышал, что вообще на иксах этого нет ... Не поверил что ситуация так плоха.


еще вопросики по современным версиям Delphi
1. Правда ли, что старые объекты вообще не имеют RTTI?

2. Есть ли какой-нибудь код или фреймворк, в котором существует workaround по поводу отсутсвия RTTI свойств у интерфейсов?
В частности, как солюшен для полноценного автоматического экспорта интерфейсов в скритовые движки, будь то dwscript или Javascript?

3. Существует ли сторонняя библиотека, или код, который эффективно реализует weak reference для интерфейсов, в том числе и на десктопном компиляторе.

4. Парадигма статического виртуального поля в иерархии классов: когда в методах общем предкаTMyBase можно было бы быстро получать поле, привязанное к фактическому классу(не экземпляру). Есть ли примеры реализации?

5. когда сущности присваивается какой-либо атрибут

Код:
type
MyAttribure=class(TCustomAttribute)
FResult:Integer;
constructor Create(itNumber:integer);
end;


MyAttribure.Create(tNumber:integer);
begin
Fresult:= Factor(tNumber);
end;
Автор: LadyOfWood
Дата сообщения: 08.04.2015 19:20

Цитата:
1. Правда ли, что старые объекты вообще не имеют RTTI?

Нет, правда с недавних пор есть записи с полями и методами.

Цитата:
4. Парадигма статического виртуального поля в иерархии классов: когда в методах  общем предкаTMyBase можно было бы быстро получать поле, привязанное к фактическому классу(не экземпляру). Есть ли примеры реализации?

Есть конечно class var но там кривовата реализация. Я подобное делал через class function/procedure которая может быть виртуальной.

Цитата:
когда сущности присваивается какой-либо атрибут

Для класса не скажу не делал, а для записи точно возможно.


Автор: AlekXL
Дата сообщения: 08.04.2015 19:43

Цитата:
Для класса не скажу не делал, а для записи точно возможно.

вы наверное, не поняли сути вопроса. Вопрос был о конструкции атрибута, а не о сущности, к которой он применяется


Цитата:
Нет, правда с недавних пор есть записи с полями и методами.

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


Цитата:
Есть конечно class var но там кривовата реализация. Я подобное делал через class function/procedure которая может быть виртуальной

это не то. Полный полиморфизм в иерархии методов возможен лишь при явном перекрытии метода в каждом потомке. Не то. Единственно, можно наверно объявить фальшивую абстрактную функцию, и в ее VMT поле хранить переменную или указатель.
Автор: LadyOfWood
Дата сообщения: 08.04.2015 19:58

Цитата:
Полный полиморфизм в иерархии методов возможен лишь при явном перекрытии метода в каждом потомке.  Не то. Единственно, можно наверно объявить фальшивую абстрактную функцию, и в ее VMT поле хранить переменную или указатель.

Где-то я видел реализацию подобных переменных для Delphi но там хаки были.
Автор: Eternal_Shield
Дата сообщения: 08.04.2015 22:52

Цитата:
другими словами, выполняется ли ктор на этапе компиляции, или в райнтайм?

lazy-инициализация ... ctor атрибута вызывается непосредственно при вызове GetAttributes
Автор: mrUlugbek
Дата сообщения: 09.04.2015 07:56
Кто знает что за тема используется?
https://d2s812or3jf8v2.cloudfront.net/images/radxe8/screenshots/RADStudioIDE_HeroShot_XE8_large.png
Автор: AlekXL
Дата сообщения: 09.04.2015 09:58
еще вопросик:
мне нужна функция, которая в высшей степени корректно (и без зависимости от активной или дефолтной локали, продуцирующая один и тот же результат на всех системах) сравнивает(>,<,=) юникодные строки без учета регистра, работающая как минимум на всех актуальных Win платформах(XP++), а лучше -- и вообще на всех(включая Android)
Автор: NeoAnomaly
Дата сообщения: 09.04.2015 10:05
Подскажите, как в браузерах, в delphi IDE и т.п. реализованы команды навигации вперёд/назад? Судя по тому, что команды работают, как со спец кнопок мышей, клавиатур, через комбинацию: Alt + курсорные клавиши и т.п. это какое-то стандартное сообщение, но вот какое?
Автор: X11
Дата сообщения: 09.04.2015 10:14
comparetext?

http://docwiki.embarcadero.com/Libraries/XE7/en/System.SysUtils.CompareText
Автор: AlekXL
Дата сообщения: 09.04.2015 10:20
X11

Цитата:
comparetext?

http://docwiki.embarcadero.com/Libraries/XE7/en/System.SysUtils.CompareText

при всем моем уважении, вам нужно дорасти хотя бы до AnsiCompareText
так как в упомянутой вами ф-ции даже условие "без учета регистра" не выполняется
Автор: X11
Дата сообщения: 09.04.2015 10:27

Цитата:
так как в упомянутой вами ф-ции даже условие "без учета регистра" не выполняется



как раз CompareText выполняет сравнение БЕЗ учета регистра

>>Compares two strings by their ordinal value, without case sensitivity.

спасибо за уважение
Автор: AlekXL
Дата сообщения: 09.04.2015 12:44

Цитата:
как раз CompareText выполняет сравнение БЕЗ учета регистра

только для латинницы, насколько мне известно

Цитата:
спасибо за уважение

пожалуйста
Автор: LadyOfWood
Дата сообщения: 09.04.2015 18:34
AlekXL
Посмотри на это: http://stackoverflow.com/questions/16895971/what-is-the-difference-between-delphi-string-comparsion-functions
Можешь найдешь необходимую функцию сравнения, по идеи тебе надо сравнение "pure binary".
Автор: AlekXL
Дата сообщения: 09.04.2015 22:06
LadyOfWood


Цитата:
Можешь найдешь необходимую функцию сравнения, по идеи тебе надо сравнение "pure binary".

все не то. Твой ответ подойдет новичку.
CompareText не подходит, не удовлетворяет условию "без учета регистра"
AnsiCompareText не подходит, потому что зависит от локали, и от версии ОС
CompareStringW с LOCALE_INVARIANT производит странные результаты, что-то не так я делаю

короче, сложно
---
вопрос еще : может ли record helper реализовывать итератор для цикла for?

Автор: ChSerg
Дата сообщения: 09.04.2015 23:23
AlekXL
Напишите свою локаль и пользуйтесь AnsiCompareText.
Автор: DeathMAD
Дата сообщения: 10.04.2015 00:18
to ALekXL.

Хелпер может. А вот задача с регистром некорректна. Понятие строчных и прописных букв существует только в правилах некоторого языка и культуры, а значит локали. Вне этого их просто нет, а есть символы и коды. Поэтому невозможно оперировать регистром букв как понятием и не сталкиваться с локалью.
Автор: AlekXL
Дата сообщения: 10.04.2015 01:25

Цитата:
Понятие строчных и прописных букв существует только в правилах некоторого языка и культуры, а значит локали. Вне этого их просто нет, а есть символы и коды. Поэтому невозможно оперировать регистром букв как понятием и не сталкиваться с локалью.

да, но существующие локали ограничены одним языком в лучшем случае, тогда как мне нужно содержать в неизменном порядке список фраз, каждая из которых может быть на собственном языке: начиная с русского и заканчивая тайским или ивритом.

При этом недопустимы повторы, в плане регистра, и некоторых диакритических знаков: например, е и ё практически не различаются. а и/й сущетсвенно различны.
При этом в FormD ситуация будет для букв ё/й похожа, и необходимы некоторые дополнительные критерии для вердикта в процедуре сравнения.

То есть нужна металокаль.
Автор: Pavel_M2
Дата сообщения: 10.04.2015 10:57
AlekXL



Цитата:
4. Парадигма статического виртуального поля в иерархии классов: когда в методах общем предкаTMyBase можно было бы быстро получать поле, привязанное к фактическому классу(не экземпляру). Есть ли примеры реализации?


оно?

http://hallvards.blogspot.ru/search/label/RTTI
Автор: Frodo_Torbins
Дата сообщения: 10.04.2015 11:37
AlekXL
Храните локаль для каждой записи/набора записей.
Автор: LadyOfWood
Дата сообщения: 10.04.2015 13:02

Цитата:
каждая из которых может быть на собственном языке: начиная с русского и заканчивая тайским или ивритом.

Тогда ручками, по своим таблицам, наверное самый лучший вариант.
Автор: mudrii
Дата сообщения: 10.04.2015 17:27
Тем, кому не по вкусу пришлась цветовая гамма новой IDE и зрение еще рулит

Цитата:
_http://andy.jgknet.de/blog/2015/04/xe8-get-rid-of-the-wrong-font-size-and-blue-toolbar/
Автор: AlekXL
Дата сообщения: 10.04.2015 19:30

Цитата:
оно?

http://hallvards.blogspot.ru/search/label/RTTI

да, но там используется WinApi(VirtualProtect) Как такое провернуть на адроиде?
Автор: Frodo_Torbins
Дата сообщения: 10.04.2015 23:41
AlekXL
Должны быть аналогичные вызовы libc, или что там у них. Можно посмотреть в исходниках менеджера памяти и остального RTL.
Автор: dred2k
Дата сообщения: 11.04.2015 11:28
На чехах пробежал рецептик как убрать довольно громоздкую стартовую страницу XE8 (актуально и для других версий).
[more=Подробнее ...]The welcome page is broken if the internet is blocked or not available.
It seems this possibility was unregarded and the scripts stops anywhere with this unbeautiful screen.
The welcome page in Delphi XE8 is simply pointless, but can be removed.
This reg file would remove the welcome page.

Код: Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Embarcadero\BDS\16.0\Known IDE Packages]
"$(BDS)\\Bin\\startpageide220.bpl"=-
Автор: ChSerg
Дата сообщения: 11.04.2015 21:18

Цитата:
Модифицированная стартовая страница XE8

Еще бы фавориты вернуть на стартовую страницу....
И как-нибудь падание IDE вылечить...
Автор: LadyOfWood
Дата сообщения: 11.04.2015 21:42

Цитата:
И как-нибудь падание IDE вылечить...

Падения IDE это наверное фича)) вообще удивительно что компилятор (во всяком случае под windows) еще нормальный.
Автор: vez
Дата сообщения: 11.04.2015 22:58

Цитата:
Падения IDE это наверное фича))

Они в обсуждении с бета-тестерам признали, что не могут пока вылечить, так как нет устойчивого алгоритма вызова падений. Может то-нибудь предложит рецепт устойчивого повтора события?
Автор: NeoAnomaly
Дата сообщения: 11.04.2015 23:10

Цитата:
вообще удивительно что компилятор (во всяком случае под windows) еще нормальный.

ну, под виндой пока не трогали(уже 2 или 3 версии!?), вот и работает
Автор: ZloyBrawler
Дата сообщения: 11.04.2015 23:24

Цитата:
Может то-нибудь предложит рецепт устойчивого повтора события?

Вы шутите да?
Пусть применяют модульное тестирование при разработке своей поделки!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129

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


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