Смотрел доклад про паппет интересно — но хотелось бы больше подробностей. Особенно про инструменты создания и верификации модулей, ну и про тестирование.
Вчера запустил у себя демку TabSliding — у меня ничего не падало.
Думаю, что тут либо проблема в несовместимости файрманки и телефона, либо в глюкавости AppMethod-a. Я собрал эту демку у себя и выложил в Google Play. Если не сложно — проверь, пожалуйста как будет работать версия собранная на другой машине (я использовал для сборки последние версии ADK & NDK).
Запустил из AppMethod-a демку фоторедактора на своём Gigabyte GSmartu Aku A1 — никаких проблем с шарингом. При запуске других демок под виндой вышеупомянутой проблемы с закрытием программы тоже не воспроизвелось.
Насколько я понял из FAQ-а это по сути та же XE5 но без VCL-a. С другой стороны, если этот продукт вдруг выстрелит — то в теории это позволит Embarcadero-вцам оперативнее развивать Firemonkey. Так как AppMethod доступен только по подписке и содержит только FM код а значит не придётся тратить силы на VCL, хотя наверняка это притормозит развитие Delphi.
>Правда у меня при закрытии каждый раз пишет «Прекращена работа программы...».
А Punto Switcher у вас случайно не запущен? Я постоянно сталкивался с таким поведением в XE5. «Помогала» только полная выгрузка PS-а и рестарт IDE.
Выглядит, здорово! Но читать такой код очень неприятно.
Попытаюсь в мягкой форме сказать почему это плохо.
Во-первых getter для свойства изменяет состояние объекта — это ужасная практика. Это подстава.
Во-вторых, первый вариант читается проще.
Но выглядит прикольно!
p.s. А если заменить тип параметра на variant, то можно писать туда вообще всё что угодно.
p.p.s. В RTL библиотеке Delphi тоже есть примеры Fluent interface — например тот же TStringBuilder
Спасибо за статью.
Давно не заглядывал на сайт Raudus-a. Рад что у него наконец появилась внятная лицензия.
Как раз недавно, знакомый спрашивал, как проще всего портировать часть функционала Delphi программы на Web — посоветую ему попробовать Raudus.
Я тоже как-то разбил экран на 7 Nexus-е. Тоже заказал из Китая через ebay.
LCD + touchscreen, так как отдельно LCD без специальной техники не заменить, даже в сервисах не меняют.
Правда не за 27$ а за ~100$ (сейчас тот же продавец их 75$ продаёт). Поставил, посмотрел, сравнил с оригинальным экраном — и отправил назад в Китай. Причина проста: у китаца цветов меньше, яркость меньше (на солнце слепнет полностью), и такое ощущение что и разрешение меньше. На IPS совсем-совсем непохоже. Gorilla Glass? Сомневаюсь. =)
Когда-то искал себе сервер под винду, чтобы крутился на фоне на домашнем компе и позволял с планшета смотреть фильмы. Сначала поставил XBMC — но там не понравилось, что он запускается с GUI и в фоне кушает процентов 10 процессора.
А потом наткнулся на homemediaserver — и оказался им весьма доволен. Поначалу, homemediaserver перекодировал видео и оставлял только одну аудиодорожку. Поплутав в настройках удалось сделать так, чтобы сервер отдавал планшету все аудиодорожки и все субтитры, какие есть в фильме. Порадовала возможность создавать профили с разными опциями перекодирования для разных устройств.
Спасибо, что поделились своей историей.
Приятно слышать о том, что LazyDB реального используется в деле. Я таких случаев знаю очень мало — менее десятка. Число скачиваний велико, а вот с отзывами негусто. =)
> Хм… лично я пока даже не понял, что мне с ней надо разбираться. А мне надо?
Я не уверен что уловил смысл, который вы вложили в эту фразу. Если это что-то важное, то поясните пожалуйста другими словами.
В своём предыдущем комментарии я предположил что вы заинтересованы в том, чтобы попробовать Lazy Delphi Builder для сборки своих проектов. У меня очень мало отзывов об использовании LazyDB (буквально, пара мейлов в год, в основном с вопросами «как настроить») поэтому я попросил рассказать о своём опыте. Зная, что при настройки обычно вызывает сложности я про них рассказал.
Если не сложно, то напишите пожалуйста (на email или в личку), удалось ли разобраться с LazyDB, настроить под себя, и том какие трудности возникли при настройке.
Сразу уточню, LazyDB навязывает следующую структуру для папок для получаемых при компиляции файлов. Именно это обычно вызывает больше всего вопросов и затруднений.
Должна быть общая папка Build (т.н. base folder) с подпапками:
* Bin — папка для exe и dll
* Dcu — папка для .dcu (release)
* DebugDcu (опционально) — аналогично для .dcu файлов с отладочной информацией
* Bpl — папка для .bpl
* Dcp — папка для .dcp
* Res — папка для ресурсов (опционально, если включено копирование ресурсов)
Нет, не умеет. Я не планировал такое реализовывать, и пока не представляю каким образом это можно сделать так, чтобы это было удобно использовать. И совсем не уверен, что это вообще хорошая идея. =)
Имхо, для таких случаев лучше выносить информацию о версии в отдельный .rc файл, подключаемый к проекту (или компилируемый в .res вручную), и изменять информацию о версии именно там.
Смотрел доклад про паппет интересно — но хотелось бы больше подробностей. Особенно про инструменты создания и верификации модулей, ну и про тестирование.
Мой опыт касается только блокировки всего Adsense аккаунта в связи с недействительными кликами.
Сочувствую.
Думаю, что тут либо проблема в несовместимости файрманки и телефона, либо в глюкавости AppMethod-a. Я собрал эту демку у себя и выложил в Google Play. Если не сложно — проверь, пожалуйста как будет работать версия собранная на другой машине (я использовал для сборки последние версии ADK & NDK).
А Punto Switcher у вас случайно не запущен? Я постоянно сталкивался с таким поведением в XE5. «Помогала» только полная выгрузка PS-а и рестарт IDE.
Почему?
Например, чем плоха такая конструкция?
CreateFluentBinaryWriter(Stream) .WriteString('active') .WriteByte(130);CreateFluentStringWriter(Stream) ['Привет '] ['Мир'] ['!'];Выглядит, здорово! Но читать такой код очень неприятно.
Попытаюсь в мягкой форме сказать почему это плохо.
Во-первых getter для свойства изменяет состояние объекта — это ужасная практика. Это подстава.
Во-вторых, первый вариант читается проще.
Но выглядит прикольно!
p.s. А если заменить тип параметра на variant, то можно писать туда вообще всё что угодно.
p.p.s. В RTL библиотеке Delphi тоже есть примеры Fluent interface — например тот же TStringBuilder
Давно не заглядывал на сайт Raudus-a. Рад что у него наконец появилась внятная лицензия.
Как раз недавно, знакомый спрашивал, как проще всего портировать часть функционала Delphi программы на Web — посоветую ему попробовать Raudus.
Я тоже как-то разбил экран на 7 Nexus-е. Тоже заказал из Китая через ebay.
LCD + touchscreen, так как отдельно LCD без специальной техники не заменить, даже в сервисах не меняют.
Правда не за 27$ а за ~100$ (сейчас тот же продавец их 75$ продаёт). Поставил, посмотрел, сравнил с оригинальным экраном — и отправил назад в Китай. Причина проста: у китаца цветов меньше, яркость меньше (на солнце слепнет полностью), и такое ощущение что и разрешение меньше. На IPS совсем-совсем непохоже. Gorilla Glass? Сомневаюсь. =)
А потом наткнулся на homemediaserver — и оказался им весьма доволен. Поначалу, homemediaserver перекодировал видео и оставлял только одну аудиодорожку. Поплутав в настройках удалось сделать так, чтобы сервер отдавал планшету все аудиодорожки и все субтитры, какие есть в фильме. Порадовала возможность создавать профили с разными опциями перекодирования для разных устройств.
Приятно слышать о том, что LazyDB реального используется в деле. Я таких случаев знаю очень мало — менее десятка. Число скачиваний велико, а вот с отзывами негусто. =)
Я не уверен что уловил смысл, который вы вложили в эту фразу. Если это что-то важное, то поясните пожалуйста другими словами.
В своём предыдущем комментарии я предположил что вы заинтересованы в том, чтобы попробовать Lazy Delphi Builder для сборки своих проектов. У меня очень мало отзывов об использовании LazyDB (буквально, пара мейлов в год, в основном с вопросами «как настроить») поэтому я попросил рассказать о своём опыте. Зная, что при настройки обычно вызывает сложности я про них рассказал.
Сразу уточню, LazyDB навязывает следующую структуру для папок для получаемых при компиляции файлов. Именно это обычно вызывает больше всего вопросов и затруднений.
Должна быть общая папка Build (т.н. base folder) с подпапками:
* Bin — папка для exe и dll
* Dcu — папка для .dcu (release)
* DebugDcu (опционально) — аналогично для .dcu файлов с отладочной информацией
* Bpl — папка для .bpl
* Dcp — папка для .dcp
* Res — папка для ресурсов (опционально, если включено копирование ресурсов)
Имхо, для таких случаев лучше выносить информацию о версии в отдельный .rc файл, подключаемый к проекту (или компилируемый в .res вручную), и изменять информацию о версии именно там.
Вот, например, готовый рецепт.
Вот ещё ссылка по теме: Обсуждение «Delphi .res file changer» на StackOverflow.