Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE4

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

Открыть новую тему     Написать ответ в эту тему

valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deks

Цитата:
Каких именно возможностей не хватило?

Вложенных типов. С неймспейсами пробовал и так и сяк, но не выходит каменный цветок. А без них я уже не хочу программировать - к хорошему привыкаешь быстро. Хорошо, что новый FPC их поддерживает.
 

Цитата:
.. но HIG разный, стилями поправить не всегда получается, почти всегда нужно перепроектирование GUI для каждой платформы.

Основные отличия - размер элементов и порядок их размещения. LCL, например, решает проблему очень просто - для соответствия размеров используется свойство AutoSize у элементов + очень грамотно реализованные привязки элементов (VCL anchors нервно покуривают в стороне), для порядка размещения используется элемент ButtonPanel, позволяющий размещать кнопки в диалоге так, как это принято на целевой платформе. Ну и кнопки с иконками могут показывать их или скрывать в зависимости от правил принятых на платформе. По идее, возможностей у FMX еще больше т.к. стилизовать можно не отдельные элементы управления а целиком форму (впрочем, LCL-привязки и ей бы не помешали) - что позволит иметь кардинально разные формы - будь на то надобность - на разных платформах. Другое дело, что для использования FMX не пригодна, но мы же говорим о возможности как таковой.
 

Цитата:
Если что, сырой альфой оно было когда у меня был KsDev Lifetime License, я тогда на нем под OSX пытался в Lazarus ваять)) А сейчас это уже ТЕРТИЙ мажорный релиз. просто он работает как альфа))

Но мы же понимаем, что FMX это уже совсем не VG/DXScene. Как понимаем и то, что сейчас идет процесс переработки её внутренностей и параллельные попытки эту альфу продавать, называемые релизами Я вообще не понимаю, нафига абракадабре понадобилось связываться с KsDev, а не писать полностью своё с нуля. VGScene и до покупки производительностью не блистал, а некоторые решения принятые в нем и вовсе порочны. А теперь не известно будет ли это исправлено.
 

Цитата:
Иногда, как в примере с анимацией - это не будет вылечено НИКОГДА. Потому как либо анимацию быстро делает ядро ОС, либо медленно делает пользовательский уровень.

Для GPU разницы нет на кого работать - на ядро или пользовательский уровень. Анимации Qt прекрасно работают на мобильных девайсах, хотя, как ты понимаешь, к системе ни какого отношения не имеют. Беда FMX в её кривой реализации, а не в отчужденности от системны. В качестве небольшой иллюстрации приведу пример. Есть известная библиотека GR32, для работы с битмапами. Она хорошо оптимизирована и использует только возможности CPU. У нее есть демка показывающая работу со спрайтами и одновременно выступающая как бенч. Я повторил эту демку на FMX, только задействовал возможности GPU - использовалась Form3D с плоской проекцией. Результат меня удивил - демка из GR32 почти не уступала демке использующей GPU. Но это означает, что FMX совершенно не умеет пользоваться GPU. То есть, не в абстрагирующем подходе проблема - проблема в реализации.
 

Цитата:
Потому что рынок или уже больше всех PC, или прямо в ближайшее время станет больше. И потенциал роста - колоссальный! Smart Watch, Smart Glasses - это все тоже будет под мобильными ОС.

И что с того? Проникновение у мобильных девайсов всегда было лучше, чем у ПК. Ну да, сегодняшние мобильные дефайсы еще и софт позволяют использовать. Ок. Так какой же софт используют юзеры? Браузер + птички + ферма - примитивные игрушки, короче. Нужно понимать, что основное назначение мобильных устройств это развлечения и все что с ними связано, отсюда и основные тренды в софтостроительстве на этих платформах.
 

Цитата:
Десктопные ОС переходят в роль "нишевого" продукта "для офиса".

Это может беспокоить разве что продавцов ПК. Для разработчиков бизнес-приложений ровным счетом ничего не меняется - их аудитория не становится меньше.
 

Цитата:
Успех - это способ сделать что-то полезное широкому кругу посторонних людей. Не всегда это связано с именно продажей софта через магазин. Иногда достаточно возможности доступа через приложение с платформы!

Кому как, конечно. Хотя в основном под успехом понимаются вполне конкретные деньги, ради которых, собственно говоря, и затеваются все эти танцы с освоением новых платформ.
 

Цитата:
Я вообще зарабатываю недвижимостью и продажей пром оборудования для всякой Роснефти)) Но это не мешает мне заниматься разработкой ИТ-технологий/решений для своего бизнеса - я так развлекаюсь))

Вот теперь очень многое становится ясно

Всего записей: 298 | Зарегистр. 30-11-2011 | Отправлено: 21:16 08-06-2013
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
valgreesh
 

Цитата:
Основные отличия - размер элементов и порядок их размещения

 
Не всегда. Во-первых, я согласен что на десктопных платформах особых проблем нету - что OS X, что Win32/64, что Linux (в вариации типа Ubuntu) - все похожи. Не даром, все друг у друга чего то крали в плане UI))
 
На мобильных есть проблема в разном составе элементов и в разном их ожидаемом поведении. Ну типа - разные интерфейсные композиции. Например, как Google Play и AppStore: у AppStore есть вкладки, у Play-нету. Хотя многие не заморачиваются на адаптацию интерфейса к традициям платформы. Так на Android появляются приложения, которые явно были написаны для iOS в свое время.  
 
Поэтому по поводу кросс-платформенной разработки - сказал бы так: с десктопа перенести на мобильное устройство прикладное приложение (не игру) - сложно. Нужно переделывать интерфейс и вносить изменения в схему взаимодействия программы с сетью, ну и куча вспомогательных нюансов.  
 
Между жесктопными платформами перенос оч реален - даже на FMX на OSX интерфейс вполне работает. Ну, глюки - да, но не то, чтобы очень неработоспособно.
 
Между мобильными платформами - не уверен.  
 

Цитата:
Но это означает, что FMX совершенно не умеет пользоваться GPU

 
Не совсем - оно не умеет согласовать работу GPU на платформе с тем, что нужно именно FMX. И не факт, что можно научить. Может, нужен немного другой подход к построению фреймвока. Вон - iCL хвастаются что анимация выполняется ядром ОС, поэтому плавно. И нажатия на контролья распознаются ядром ОС. Они считают это принципиальным и могу подвержить, что работает это хозяйство в разы шустрее, собственно - аналогично нативным ObjC. Можно ли эмуляцию UI заставить двигаться сопоставимо шустро - не знаю..
 
По поводу Qt - на iOS живьем, на железе не видел, чтобы обычный интерфейс прям нормально работал. Посмотрим, когда наваяют - вроде бы сейчас только первые альфы выходят! БЫло бы любопытно если они утрут нос FMX. Фактически, единственный оставшийся нативный кросс-платформенный тулкит и единственный конкурент.
 

Цитата:
под успехом понимаются вполне конкретные деньги

 
Ну польза=деньги в общеэкономическом смысле. Я имел ввиду то, что деньги можно заработать не продажей софта, а, например, предоставлением сервиса. А уже для оказания сервиса может быть нужно приложение)
 

Цитата:
основное назначение мобильных устройств это развлечения

 
Все зависит от желания задействовать дивайс: у нас народ ходит в нашу CRM со смартфонов (урезанный функционал), и в базу знаний) В промежутках между птичками) Ну и  апдейты в твиттер/FB/VK сыпятся по статусу заказов - это для клиентов в осн) Для сотрудников пушами удобнее.
 

Цитата:
многое становится ясно

 
Да, у меня есть ресурсы для экспериментов)))
 
 
 
Добавлено:
Nested Types
 
http://wiki.oxygenelanguage.com/en/Nested_Types (с 2005 года)

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 12:48 09-06-2013
valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deks

Цитата:
На мобильных есть проблема в разном составе элементов и в разном их ожидаемом поведении. Ну типа - разные интерфейсные композиции.

Как раз об этом я и говорил, когда упоминал, что FMX позволяет целиком стилизовать форму, как  это делается в контролами. То есть для iOS будет стиль iosformstyle, а для Android androidformstyle. Правда дизайнер не позволяет это автоматизировать, но у FMX с поддержкой дизайнеров вообще беда.
 

Цитата:
Поэтому по поводу кросс-платформенной разработки - сказал бы так: с десктопа перенести на мобильное устройство прикладное приложение (не игру) - сложно

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

Цитата:
Можно ли эмуляцию UI заставить двигаться сопоставимо шустро - не знаю..  

Какие ты видишь технические сложности? Я не вижу ни каких.
 

Цитата:
По поводу Qt - на iOS живьем, на железе не видел, чтобы обычный интерфейс прям нормально работал.

Демки Qt5 вроде доступны... Андроидные демки на видео выглядели более чем пристойно.
 

Цитата:
БЫло бы любопытно если они утрут нос FMX. Фактически, единственный оставшийся нативный кросс-платформенный тулкит и единственный конкурент

Эмбаркадеро заявляла о том, что Qt рассматривался, как основа будущего кроссплатформенного фреймвока, но якобы не удовлетворил какими-то возможностями. Хотя скорее всего побоялись привязки к вендору положение которого вызывало опасения.
 

Цитата:
Да, у меня есть ресурсы для экспериментов)))  

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

Цитата:
Nested Types    http://wiki.oxygenelanguage.com/en/Nested_Types (с 2005 года)

Не-не. Это такая недоделка... Ладно синтаксис не совместим - это можно вылечить инклюдамии и дефайнами (хотя тоже геморой на ровном месте), но там еще и правила применения не совместимы. В дельфях я могу декларировать приватный вложенный тип, но использовать его в публичных методах и свойствах. Оксиджен этого не позволяет. А штука весьма полезная, и у меня используется часто.

Всего записей: 298 | Зарегистр. 30-11-2011 | Отправлено: 16:24 09-06-2013
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
для iOS будет стиль iosformstyle

 
Мне кажется, это как IFDEF только для GUI.
 
Не проще ли сделать просто папки в основном проекте - UI/IOS, UI/DROID?  
 
Чем кросс-платформенные формочки, мне больше нравится кросс-платформенная библиотека для тестирования! Вот это реально нужная вещь для кросс-платформы. При правильно разработанной системе тестов сопровождать пару форков проекта - оч просто.
 

Цитата:
По поводу Qt - на iOS живьем, на железе не видел

 
Я хотел сказать, что сам не щупал, на своем дивайсе не крутил! Презентации с выставок я к сведению принимаю, не более. Без личного эксперимента нельзя никому щас верить - все стараются альфу и бэту выпустить: приходится все проверять на предмет реального качества каждого решения. Без особых проверок пользую только mature проекты (типа nginx), и то - там свои заморочки))
 

Цитата:
Nested Types

 
Э.. Вроде бы все ок с приватными типами. На всякий случай вот тут написано, что это просто member такой, на него все 6 уровней visibility распространяются!  
http://wiki.oxygenelanguage.com/en/Class_Member_Visibility_Levels
 
Не совсем понимаю, если декларировать встроенный тип как private, то зачем его использовать в свойстве? Логично же что он должен быть по уровню видимости = уровню видимости свойства?
 
Я почему расспрашиваю - потому как оксиген имхо как язык ну всяко помощнее дельфи будет! Оч много хороших и приятных вещей реализовано! Раньше я относился к нему как к "обертке" над фичами .NET, но после появления Java/Cocoa и сохранением фич - мнение сменил. Один colon operator чего стоит ( рекламка фич языка тут http://www.remobjects.com/oxygene/language/ ). Не даром DWS у Oxygene заимствует (просто сделайте поиск "oxygene" по delphitools.info).  Много удобных вещей не мешало бы и в Дельфи сделать.
 

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 17:08 09-06-2013
AlekXL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
{$ALIGN ON}
 

чему эквивалентен, какому выравниванию?

Всего записей: 794 | Зарегистр. 24-04-2008 | Отправлено: 17:15 09-06-2013
valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
deks

Цитата:
Не проще ли сделать просто папки в основном проекте - UI/IOS, UI/DROID?

Как раз с подходом FMX этого не потребуется - логика гуя будет описана в одном экземпляре, а look будет задан в виде стиля (стили, понятное дело, будут в разных файлах). Решение получается более красивым.
 

Цитата:
Чем кросс-платформенные формочки, мне больше нравится кросс-платформенная библиотека для тестирования! Вот это реально нужная вещь для кросс-платформы. При правильно разработанной системе тестов сопровождать пару форков проекта - оч просто.

Тесты не священная корова, 100% покрытие обеспечить очень и очень не просто. У меня есть места, где для метода в пару-тройку десятков строк пришлось писать чудовищное количество тестирующего кода. То есть иногда оно того просто не стоит. Хотя, вне всякого сомнения, тесты вещь нужная.
 

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

+1. Трудно не согласиться. Похоже, что качество нынче сдает последние рубежи Хотя, качеству последних версий лазаруса я лично очень порадовался - это же офигеть можно, когда в бесплатном продукте редактор кода по возможностям уделывает редактор дельфей.
 

Цитата:
Э.. Вроде бы все ок с приватными типами

Этот код не скомпилируется:

Код:
 
   TElement nested in value = private class
   end;
 
   value = Class
   public
    function getelement : TElement;
   end;
 

 

Цитата:
Не совсем понимаю, если декларировать встроенный тип как private, то зачем его использовать в свойстве? Логично же что он должен быть по уровню видимости = уровню видимости свойства?

Не всегда. Есть ситуации, когда нужно вернуть объект или запись, но чтоб пользователь не мог их сохранить в переменную. Причин тому может быть масса. Это и слабая ссылка на родителя, что чревато AV если сохраненный объект его пережил. Это и невозможность корректного конструирования объекта из пользовательского кода, например потому что при вызове конструктора родитель передает в параметрах приватные данные (а раз нет возможности корректно сконструировать, то и светить в паблике нефиг). У меня такой подход часто используется в параметризованных перечислителях.
 

Цитата:
Я почему расспрашиваю - потому как оксиген имхо как язык ну всяко помощнее дельфи будет! Оч много хороших и приятных вещей реализовано!

Мне в оксиджене тоже нравятся некоторые вещи: inline expressions, пространства имен и неполные классы, например. Но как я уже сказал, отсутствие единой RTL сильно затрудняет написание общего кода для поддержки разных платформ, а без этого я лично не вижу смысла с ним связываться. И в remobjects это понимают, иначе не пилили бы свой sugar. Буду очень рад если дельфя и FPC реализуют некоторые его вкусности.
 
AlekXL

Цитата:
чему эквивалентен, какому выравниванию?

Судя по справке от XE2: Default: {$A8} {$ALIGN 8}

Всего записей: 298 | Зарегистр. 30-11-2011 | Отправлено: 20:13 09-06-2013
LadyOfWood

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Эмбаркадеро заявляла о том, что Qt рассматривался, как основа будущего кроссплатформенного фреймвока, но якобы не удовлетворил какими-то возможностями. Хотя скорее всего побоялись привязки к вендору положение которого вызывало опасения.  

Видно учли опыт Kylix который как раз был завязан на Qt.

Всего записей: 620 | Зарегистр. 16-09-2003 | Отправлено: 22:16 09-06-2013
valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LadyOfWood
Qt времен кайликса и сегодняшний Qt это две разные вселенные Тогда он ужасно выглядел и на линуксе и на виндах. Сейчас это хороший фреймвок позволяющий писать приложения которые выглядят родными на целевой платформе. Но я понимаю решение эмбаркадеро гнуть свою линию, особенно учитывая пертурбации творившиеся с Qt в последнее время.

Всего записей: 298 | Зарегистр. 30-11-2011 | Отправлено: 23:48 09-06-2013
miwa

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LadyOfWood

Цитата:
Видно учли опыт Kylix который как раз был завязан на Qt.

А разве там не использовалась какая-то кастрированная вариация wine?
 
valgreesh

Цитата:
Но я понимаю решение эмбаркадеро гнуть свою линию, особенно учитывая пертурбации творившиеся с Qt в последнее время.

А вот я - нет, если честно. Кроме прочего Qt ж вроде таки выпустили под LGPL - бери да используй как тебе надо; тем более что она переросла период детских болезней. А теперь вот все дружно плюются на обезьяну, которая этот период может и не пережить.

Всего записей: 455 | Зарегистр. 10-10-2004 | Отправлено: 00:17 10-06-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
какая-то кастрированная вариация wine

 
для GUI - нет.
 
Иначе бы в delphi 7 не нужно было бы вводить тотже самый CLX точно так же основанный на Qt
Да и в кайликсе бы не надо, если бы кайликс делали на winelib, то в нем бы использовался обычный VCL
 
Добавлено:

Цитата:
особенно учитывая пертурбации творившиеся с Qt в последнее время

...а я помню, когда-то для C-X-Builder обещали сделать VCL поверх wxWidgets
 
ведь не qt-ом единым. Есть очень много разных тулкитов.

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 00:31 10-06-2013
valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
miwa

Цитата:
Кроме прочего Qt ж вроде таки выпустили под LGPL - бери да используй как тебе надо

Под LGPL вносить изменения в Qt нельзя. Ну и плюс это прямая зависимость от вендора.
 

Цитата:
А теперь вот все дружно плюются на обезьяну, которая этот период может и не пережить

У неё выбора нет - думаю, будут выхаживать до последнего.
 
Arioch1

Цитата:
Есть очень много разных тулкитов

Так-то оно так, но это ставит в прямую зависимость от вендора у которого могут быть иные взгляды на развитие фреймвока.

Всего записей: 298 | Зарегистр. 30-11-2011 | Отправлено: 01:11 10-06-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

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

Цитата:
Под LGPL вносить изменения в Qt нельзя.

Почему? и как это соотносится с идеей GPL/LGPL ?

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 02:23 10-06-2013
valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1

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

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

Цитата:
Почему? и как это соотносится с идеей GPL/LGPL ?

В википедии об этом прямо говорится:

Цитата:
Начиная с версии 4.5 Qt распространяется по 3 лицензиям (независимо от лицензии, исходный код Qt один и тот же):
Qt Commercial — для разработки ПО с собственнической лицензией, допускающая модификацию самой Qt без раскрытия изменений;
GNU GPL — для разработки ПО с открытыми исходниками, распространяемыми на условиях GNU GPL;
GNU LGPL — для разработки ПО с собственнической лицензией, но без внесения изменений в Qt.

А тут это находит подтверждение.

Всего записей: 298 | Зарегистр. 30-11-2011 | Отправлено: 03:14 10-06-2013
AlekXL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А тут это находит подтверждение.

трудно поверить, поскольку LGPL как раз подразумевает возможность изменения, причем любым юзером.

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

Всего записей: 794 | Зарегистр. 24-04-2008 | Отправлено: 06:55 10-06-2013
AlekXL



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я пытаюсь реализовать Overlapped Read, допиливая dsstreams с торри. К сожалению, документация msdn не выглядит полной.
Вот выдержка кода, ReadAsync

Код:
 
 tries:=0;
 repeat
  readSuccess:=ReadFile(Handle,Buffer,Count,PCardinal(nil)^,Addr(Request.Overlapped) );
  //if readSuccess==true, then operation completed synchronously
  Inc(tries);
    if not readSuccess then begin
 
      err:=GetLastError();
      readSuccess:= (err=ERROR_SUCCESS) or (err=ERROR_IO_PENDING) or (err=ERROR_IO_INCOMPLETE);
 
      if (err=ERROR_WORKING_SET_QUOTA) or (err=ERROR_INVALID_USER_BUFFER) or
         (err=ERROR_NOT_ENOUGH_MEMORY) or (err=ERROR_NOT_ENOUGH_QUOTA)  then
       (*increase quota*)                               IncreaseQuotaBy(count);
 
    end;
 
 until readSuccess or (tries>FMaxTries);
 
 

во-первых, справедливо ли, что, если ReadFile возвращает true, то операция завершилась синхронно? Будет ли установлен эвент  в таком случае?
 
2. может ли случиться, что ReadFile вернет false, а GetLastError() - ERROR_SUCCESS?
 
3. может ли ReadFile вернуть false, а GetLastError ==ERROR_IO_INCOMPLETE?
 

Код:
 
procedure TAsyncFileStream.IncreaseQuotaBy(cbbValue: Cardinal);
var smin,smax:ULONG_PTR;
begin
 GetProcessWorkingSetSize(GetCurrentProcess,smin,smax);
 if not SetProcessWorkingSetSize(GetCurrentProcess,smin,smax+ULong_ptr(cbbValue) ) then begin
   if NumPendingRequests >= 1 then WaitAll
   else raise EFOpenError.CreateFmt('Not enough memory for the request',[])
 end;
end;
 

4.Нужны ли для функции SetProcessWorkingSetSize права elevated Admin?

Всего записей: 794 | Зарегистр. 24-04-2008 | Отправлено: 10:12 10-06-2013
valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AlekXL

Цитата:
трудно поверить, поскольку LGPL как раз подразумевает возможность изменения, причем любым юзером

Политику лицензирования определяет владелец, поэтому не вижу ничего невозможного.
 

Цитата:
А Эмба экономит на спичках..

Где-то же они говорили, что только в питерском офисе у них около сорока человек. Что-то не очень похоже на экономию, если конечно все сорок не сидят на джуниорских зарплатах

Всего записей: 298 | Зарегистр. 30-11-2011 | Отправлено: 11:46 10-06-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Политику лицензирования определяет владелец

Точно так. Он может выбирать использовать LGPL или не использовать.
Если он не хочет изменения библиотеки - то не использует LGPL.
Потому что изменение - одно из "четырёх свобод" ради защиты которых все *GPL и затевались
 
а wiki эта, если вы правильно цитировали, либо случайно либо намеренно путает несколько разных вещей.
что для прогарммистской wiki не хорошо.
 
Добавлено:

Цитата:
допускающая модификацию самой Qt без раскрытия изменений;

обратите внимание на последние три слова. Это ключевой момент. Именно это право добавлено, по сравнению с LGPL. Но и только.
 
ну и еще мелочь, что xGPL регулирует только распространение программ. Если ты пишешь прогармму для своей фирмы - вообще можешь менять как хочешь.
 
Добавлено:

Цитата:
в питерском офисе у них около сорока человек

40 человек - это не сорок разработчиков

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 12:08 10-06-2013
Senpai07



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
Владельцы лиц XE4, поделитесь пожалуйста
FireMonkey Premium Style Pack 2 for RAD Studio XE4
_ttp://cc.embarcadero.com/item/29441
Заранее Спасибо!

Всего записей: 295 | Зарегистр. 05-12-2005 | Отправлено: 12:29 10-06-2013
deks



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Senpai07
 
Это вопрос скорее всего в варез таки. Тут - программирование
 
Добавлено:
AlekXL

Цитата:
2. может ли случиться, что ReadFile вернет false, а GetLastError() - ERROR_SUCCESS?  
3. может ли ReadFile вернуть false, а GetLastError ==ERROR_IO_INCOMPLETE?  

 
У вас в примере кода есть заветные слова Async - они означают, что началась неделя геморроя и он удваивается в десять раз))  
 
А если серьезно - то GetLastError возвращает код ошибки в текущем потоке, поэтому если действие производилось именно в этом потоке, то все должно быть ок - то есть вернется последний код ошибки. Но ошибка именно для действий, совершенных в этом потоке. Как я понял, для выполнения асинхронного чтения заводится отдельный поток, поэтому ошибка по чтению может там и пропасть! Есть шансы перехватить ее в обработчике по завершению асинхронной операции. Но лучше гуглить StackOverflow в поисках примеров.

Всего записей: 857 | Зарегистр. 09-10-2003 | Отправлено: 12:37 10-06-2013
valgreesh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1

Цитата:
Потому что изменение - одно из "четырёх свобод" ради защиты которых все *GPL и затевались  

Если мне память не изменяет, то LGPL делает послабления в части открытия кода по сравнению с GPL. Но все очень не просто. Если просто используется код под LGPL, то такой код можно использовать как угодно (конечный продукт может быть под любой проприетарной лицензией). Если код под LGPL изменяется, то либо исходники всего продукта должны быть открыты, либо должна использоваться динамическая линковка и открыть можно только измененные части.
 

Цитата:
40 человек - это не сорок разработчиков

Так вроде питерский офис занимается только разработкой, я слышал...

Всего записей: 298 | Зарегистр. 30-11-2011 | Отправлено: 16:27 10-06-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE4


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru