-
Постов
568 -
Зарегистрирован
-
Посещение
-
Победитель дней
57
Сообщения, опубликованные ENERGY
-
-
@tromani
Я имел ввиду без устройства iPhone - можно на симуляторе iOS. Но лучше где то взять реальный телефон или iPad.
Конечно нужен MacOS (OSX). Вся инфраструктура iOS программирования зависима от OSX и делается только через макос, независимо от языка.
Вы его можете поставить на VMWare (нужно его еще пропатчить, для macOS) - готовый образ vmware можно скачать на рутрекере. Там и все инструкции. Но для его запуска вам нужен Intel процессор, хотя там есть варианты и с AMD, но с ним больше проблем на маке.
Потом можно подключить реальный iPhone и он определиться в виртуалке.
-
По поводу удаления из Gallery. Это виртуальная папка, это значит что недостаточно удалить файл из SharedCameraPath - т.к. он может быть в другом месте, т.к. MediaScanner собирает фотки со многих других папок, но обычно достаточно этого пути.
Но, даже если его удалить оттуда, он все равно останется в Gallery - его нужно удалять из SQL базы андроида.
В общем идея следующая (описана тут) - до вызова интента сначала прочитать последний Image ID (ContentResolver.Query ) который лежит там, сохранить эту цифру.
Затем после вызова интента камеры, запросить все id что больше сохраненного, как правило там должен появится один файл (одна запись с ID больше сохраненного) - и удалить его через ContentResolver.Delete. Параллельно можно сразу скопировать этот готовый jpeg файл, до удаления, чтобы не тратить время на создание своего из битмапа, т.к. можно получит и путь к нему.
-
-
Спасибо большое за пример.
Вопрос, как сделать чтобы фото не добавлялось в Library?
-
Наверное какой то из Blur эффектов. Gaussian?
-
{$IFDEF ANDROID} procedure KeepScreenOn(aEnable: boolean); var vFlags: integer; begin vFlags := TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON; if aEnable then begin CallInUIThread ( // uses FMX.Helpers.Android procedure begin TAndroidHelper.Activity.getWindow.setFlags (vFlags, vFlags); end ); end else CallInUIThread ( procedure begin TAndroidHelper.Activity.getWindow.clearFlags (vFlags); end ); end; {$ENDIF}
Это для Berlin и ниже.
При использовании Tokyo - вызов CallInUIThread не нужен, можно вызывать напрямую, т.к. теперь главный Delphi поток это Java UIThread.
iOS
uses iOSapi.UIKit; {$R *.fmx} procedure TForm6.Button1Click(Sender: TObject); var UIApp : UIApplication; begin UIApp := TUIApplication.Wrap(TUIApplication.OCClass.sharedApplication); UIApp.setIdleTimerDisabled(True); end;
-
-
-
Просьба проголосовать за эти баги. В одном из вопросов, вас ждет бонус (оптимизированный компонент, в 4-6 раз быстрее).
https://quality.embarcadero.com/browse/RSP-12494
https://quality.embarcadero.com/browse/RSP-10592
https://quality.embarcadero.com/browse/RSP-15868
Еще одна альтернатива, которая работает гораздо быстрее на Android - Winsoft aCamera компонент.
Правда он стоит 80$, которых у меня сейчас нет. Но триал в Delphi примере работает классно. У кого есть деньги, наверное это оптимальный вариант.
Может у кого то есть еще варианты?
-
Цитата
1. Установка делфи БЕЗ галочек дроида (профи все так делают). СДК и НДК надо качать отдельно по уму...
Наоборот, профи советуют ставить рекомендуемые, протестированные версии SDK, те что идут по умолчанию с пакетом.
Note: You need to use the recommended versions of the Android development tools. RAD Studio might not support changes that alternative versions introduce.
http://docwiki.embarcadero.com/RADStudio/Seattle/en/Installing_the_Android_Development_Tools
Хотите случайных багов, - все в ваших руках.
50 минут назад, tromani сказал:а както можно без наличия устройства iOS, вот это было б полезная статья если кто поделится опытом буду признателен
Можно и без устройства, на симуляторе.
Все руководства уже расписаны: http://docwiki.embarcadero.com/RADStudio/Berlin/en/Mobile_Tutorial:_Set_Up_Your_Development_Environment_on_the_Mac_(iOS)
-
-
Цитата
Они что, правда сделали компилятор под unix исходников на паскале?
Что вас так удивляет?
MacOS (OSX), Android и iOS - это тоже Unix.
ЦитатаНасколько мне известно, модули для apache до сих пор собирали и устанавливали с помощью apxs / apxs2, apxs в свою очередь работает с исходниками на Си, объектными файлами *.o и статическими библиотеками *.a. И как все это хозяйство привязали к паскалю?
Что-то не пойму причем здесь Apache к Delphi? И зачем его привязывать? Начиная с Tokyo Delphi поддерживает компиляцию под Linux, но результат без гуи, пока только через консоль, - это подходит для серверных и IOT решений, FireMonekey добавят позже.
Вот эта ссылка будет поинтереснее http://docwiki.embarcadero.com/RADStudio/Tokyo/en/What's_New
P.s. Вот плохо что @Brovin Yaroslav закрывает темы без причины. В этой теме я бы пообщался, а новости от Embarcadero я итак на почту получаю, как и многие другие.
-
-
В JCL встречал подобное -
ProcByLevel в
JclDebug.
Но без Debug info это не узнаешь. А как это будет работать на других компиляторах тоже неизвестно.
Если вам не нужно получать весь стэк, то конечно лучше передавать или константой имя процедуры или через тип.
Также это почитайте http://eurekalog.blogspot.com/2010/05/new-exception-class-in-delphi-2009-and_05.html
Upd
Я что-то подумал что вам нужно логгер сделать, по типу MadExcept, все оказалось проще.
-
Круто. Но.. Не проще ли тогда запускать винду целиком под эмулятором из MacOS.
-
Здесь решение. Не достаточно указать UIBackgroundModes, нужно еще проделать кое-какие манипуляции и установит интервал как часто просыпаться (по умолчанию = никогда).
Там же есть ссылка на другую статью, как раз связано с получением локации. Здесь официальный мануал.
Демо BackgroundFetchDemo.zip прикрепил.
Все решает система, возможно система включит программу через установленный ею интервал, возможно через час, и позже. Всего дается 30 секунд.
-
-
@Камышев Александр
Насчет этого ньюанса на ARM компиляторе не знал. Но вообще, в начале, я имел ввиду обычные текстовые файлы (например ini) с текстом языка.
-
krapotkin
А там и номер можно указать и текст одновременно?
-
Тут один известный человек с форума Embarcadero написал что это возможно из за использования VmWare.
Кто нибудь нибудь использует VMWare + MacOS? У вас билд для IOS проходит в Debug конфиге?
-
11 минут назад, chaplin.u@gmail.com сказал:
Ресурсы как написано в доках iOS не поддерживаются так что делать ?
Где это такое написано?
-
Цитата
Если строки в языковых файлах - зачем RTTI?
Почему бы Embarcadero не работать сразу с unicode, стандартно UTF-8(16)?
Причем здесь юникод к RTTI? RTTI это низкоуровневый доступ к полям класса. К любым типам.
Сохраняйте строки в отдельном текстовом файле в Utf-8 и забрасывайте их в компоненты при помощи RTTI. http://delphi.chertenok.ru/text/stat21.shtml
ЦитатаRAD Studio работает с исходниками на Ansi, а компилятор не распознает кириллицу в этих исходных файлах, приведение:
Полная ерунда. Хоть на китайском можно писать. Сохраняйте .pas в utf-8 - правая кнопка мыши по редактору > File Format > Utf-8.
-
Имхо лучше свой вариант написать на файлах и RTTI. Потом вам захочется iOS и все равно придется делать.
-
У меня появляется ошибка когда пытаюсь сделать билд пустого проекта iOS на Debug конфиге.
E2597 dsymlink: Error: failed to set locale to ??1I? на Debug Config. Да именно с такими символами ??1I?.
При этом, я могу сделать билд и запустить тот же проект на реальном iPhone без ошибок, но если выберу Release Config
Xcode, 8.2.1, iPhone 5, iOS 10.2, Delphi Berlin update 2 + Hotfix , Windows 10 English, на iPhone тоже English, MacOS на VMWare тоже English, но до этого был на русском.Также могу сделать Debug билд и запустить на симуляторе iOS.
СпойлерTarget _PasCoreCompile:
c:\program files (x86)\embarcadero\studio\18.0\bin\dcciosarm.exe -$O- --no-config -M -Q -AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG -E.\iOSDevice32\Debug -I"c:\program files (x86)\embarcadero\studio\18.0\lib\iOSDevice32\debug";"c:\program files (x86)\embarcadero\studio\18.0\lib\iOSDevice32\Release" -LEC:\Users\Public\Documents\Embarcadero\Studio\18.0\Bpl\iOSDevice32 -LNC:\Users\Public\Documents\Embarcadero\Studio\18.0\Dcp\iOSDevice32 -NU.\iOSDevice32\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap; -O"c:\program files (x86)\embarcadero\studio\18.0\lib\iOSDevice32\Release" -R"c:\program files (x86)\embarcadero\studio\18.0\lib\iOSDevice32\Release" -U"c:\program files (x86)\embarcadero\studio\18.0\lib\iOSDevice32\debug";"c:\program files (x86)\embarcadero\studio\18.0\lib\iOSDevice32\Release" --syslibroot:C:\Users\Alex\Documents\Embarcadero\Studio\SDKs\iPhoneOS10.2.sdk --frameworkpath:C:\Users\Alex\Documents\Embarcadero\Studio\SDKs\iPhoneOS10.2.sdk\System\Library\Frameworks -V -VN --linker-option:"-arch armv7" -NO.\iOSDevice32\Debug Project1.dpr
MSBUILD : error E2597: E2597 dsymlink: Error: failed to set locale to ??1I?
c:\program files (x86)\embarcadero\studio\18.0\Bin\CodeGear.Delphi.Targets(405,5): error F2588: F2588 Linker error code: 1 ($00000001)
Done building target "_PasCoreCompile" in project "Project1.dproj" -- FAILED.
Done building project "Project1.dproj" -- FAILED.
Build FAILED.
MSBUILD : error E2597: E2597 dsymlink: Error: failed to set locale to ??1I?
c:\program files (x86)\embarcadero\studio\18.0\Bin\CodeGear.Delphi.Targets(405,5): error F2588: F2588 Linker error code: 1 ($00000001)Подскажите куда копать.
Тема на форуме Emb
TImageViewer как изменять размер картинки с Zoom Gesture
в TImage
Опубликовано · Изменено пользователем ENRGY
TImageViewer умеет делать scale и Scroll. Колесом мышки можно увеличивать\уменьшать картинку, и скролить.
Очень странно что такой возможности нет для моб. платформ. А именно изменять размер картинки двумя пальцами.
Даже не знаю с чего начать. Я что-то думал что это уже готовый компонент, нафиг он нужен тогда..