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

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

Автор: NickNNN
Дата сообщения: 10.10.2014 15:59
protoror, спасибо. Но сейчас нет под рукой телефона, только планшет. Интерфейсом займусь через неделю на S3 Mini.

Оно и так все на табах. Но у меня листание работает как то странно на Galaxy Tab 2 7.0 (через раз а то и через два) - поэтому заменил пока кнопками. Ну и на планшете оно смотрится конечно совсем по другому чем на телефоне
Автор: marser
Дата сообщения: 11.10.2014 07:06
Для доступа к Oracle решил посмотреть FireDAC. Сделал следующий тест (Delphi XE7, Oracle 10.2): cоздаю пустой проект, бросаю на форму FDConnection, заполняю DriverId = 'Ora', Database, UserName, Password, Connected = true. Запускаю приложение. Закрываю приложение. Форма закрывается многновенно, а процесс весит еще секунд 20-30. Что за фигня? Только у меня так или это нормальное поведение компонента?
Автор: NickNNN
Дата сообщения: 11.10.2014 10:28
Работаю с SQLite, такого не наблюдаю. Есть глюк при выходе из программы под Android (QC уже создали запрос), но его видно только под отладчиком. Пишите скорее на QC чтобы попасть в Upd1, иначе уже только в XE8 исправят

Добавлено:
Уважаемые участники. Вот столкнулся с проблемой отображения данных на телефоне.

Собственно есть список заказов. Для каждого заказа желательно отобразить от 5 до 10 параметров. TGrid сразу отпадает, так как в ширину место ограничено. Идельно - для каждого заказа 3 строки. в каждой по несколько параметров.

Собственно для этого подходит TListBox. Но у него все два текстовых поля - Text и Detail. Стандартный пример CustomListBox показывает как делать собственные итемы. Но там заполнение идет из кода, а у меня ClientDataSet, нужно через LiveBindings.

Может кто-то уже решал проблему, подскажет чего. Заранее благодарю

P.S. очень странно что стандартный ListBox содержит так мало полей данных - стилями из него можно было сделать TableView любого вида без каких-либо изменений кода ...
Автор: protoror
Дата сообщения: 12.10.2014 10:50

Цитата:
Собственно есть список заказов. Для каждого заказа желательно отобразить от 5 до 10 параметров.  TGrid сразу отпадает, так как в ширину место ограничено. Идельно - для каждого заказа 3 строки. в каждой по несколько параметров.

Что вы все так пытаетесь сделать как на ПК? Неужто не проще изначально делать под смарт, затем доводить юзабилити под планшет и выше?
Для мобилы идеально 1 элемент в строке, для планшета, можно следать перенос, например как в ворде работают колонки. Если необходимо группировка, то тогда принцип чере определенное количество параметров сбрасывать колонку.
Автор: NickNNN
Дата сообщения: 12.10.2014 11:14

Цитата:
Что вы все так пытаетесь сделать как на ПК? Неужто не проще изначально делать под смарт, затем доводить юзабилити под планшет и выше?


Там в одну строку не влезет на мобилке. На планшете да, на телефоне - нет. Как сделать нормально пока не знаю, но в списке заказов минимум 5 параметров необходимо видеть. Если каждый заказ в несколько строк то все будет замечательно. Потом уже сделаю настройки что человек хочет видеть, упсть сами выбирают 1 или все 9 параметров

Пока поставил обычный грид, пока нет идей хоть функционал сделаю. Тут сразу глюк интересный получил - ставлю TGrid - в 99% случаев на планшете черный экран. Ставлю TStringGrid - работает


Цитата:
можно следать перенос, например как в ворде работают колонки.


Можно пожалуйста подробнее о чем речь?
Автор: X11
Дата сообщения: 12.10.2014 11:21
Посмотри как твитере отображаются списки
т.е. в одной строке сразу несколько параметров (полей)
Автор: NickNNN
Дата сообщения: 12.10.2014 11:37

Цитата:
Посмотри как твитере отображаются списки
т.е. в одной строке сразу несколько параметров (полей)


Я так понимаю текстовую строку придется самому клеить из нескольких параметров? Делать calculated field и потом просто выводить в TLIstBox ?
Автор: X11
Дата сообщения: 12.10.2014 11:56
нет, нудно несколько текстовых строк на одной панели
Что-то по типу TDBCtrlGrid
Т.е. одна панель - это одна запись, а на панели уже компоненты типа TImage, TEdit`ы - это поля

это одна запись таблицы


а всё, что выделено - это поля этой записи в таблице


Автор: NickNNN
Дата сообщения: 12.10.2014 12:22

Цитата:
нет, нудно несколько текстовых строк на одной панели
Что-то по типу TDBCtrlGrid


Эх, если бы речь шла о VCL, то тут никаких проблем нет!

Мобильное приложение только на FMX, контрол для списков там TListBox. На данный момент у него всего 2 текстовых поля и картинку можно вывести. Вчера целый день лопатил исходники, так до конца и не понял как правильно расширить класс до моих 9 полей

Точнее как класс расширить понял, а как сделать для него TBindEditor так и не разобрался. В LiveBinding для связки каждого класса с Dataset написан свой компонент, беглое изучение тут ничего не даст - нужно вдумчиво разбираться, пока оставил. Оставил заодно запрос на QC, может или они расширят стандартный класс TListBoxItem (было бы неплохо), или если б сделали возможность биндить StyleData то вообще было бы супер. Правда надежд не питаю, в XE7 этих доработок точно не увидим

Еще в TMS TableView увидел пример как они написали свой TBindEditor - нужно будет скачать где-то исходники и посмотреть

Короче как сделать TCustomListBoxItem и забиндить его на датасет я пока не знаю. Из кода сделать - это просто, примеров куча
Автор: X11
Дата сообщения: 12.10.2014 12:46
В FMX каждый элемент - это есть контейнер. Получается, что в строку списка можно встроить панель или сразу визуальные элементы. Посмотри примеры. Я уверен, что есть такие.
Автор: NickNNN
Дата сообщения: 12.10.2014 12:50

Цитата:
Посмотри примеры. Я уверен, что есть такие.


Примеров полно. Из кода. Но у меня DataSet, мне нужно заполнение через LiveBinding
Автор: SuPriTo
Дата сообщения: 12.10.2014 14:28

Цитата:
Но у меня DataSet, мне нужно заполнение через LiveBinding

В Delphi XE7 есть примеры в папке Samples\Object Pascal\LiveBindings.
Далее в TVertScrollBox в него можно добавить любые компоненты.
Кстати, есть пример с CustomListBox Samples\Object Pascal\FireMonkey Desktop\CustomListBox
Автор: NickNNN
Дата сообщения: 12.10.2014 14:39

Цитата:
В Delphi XE7 есть примеры в папке Samples\Object Pascal\LiveBindings.
Далее в TVertScrollBox в него можно добавить любые компоненты.


О каком именно примере идет речь? Там их всего несколько, нет там ничего мне нужного


Цитата:
Кстати, есть пример с CustomListBox Samples\Object Pascal\FireMonkey Desktop\CustomListBox


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

Автор: SuPriTo
Дата сообщения: 12.10.2014 16:04
NickNNN
Этот пример смотрел?


Цитата:
О каком именно примере идет речь?

Object Pascal\LiveBindings\bindgridlink\fmx
Автор: NickNNN
Дата сообщения: 12.10.2014 16:15
SuPriTo, что я только вчера не смотрел

Во всех этих примерах или LiveBinding на 2 текстовых значения + картинка, или заполнение из кода любыми данными + StyleData.

Я уже понял что нельзя, написал в QC по поводу расширения функциональности а сейчас буду сам создавать нужные строки в OnCalcFields и передавать их в TlistBox

В свое время перешел на XE3 и активно занялся FMX, но потом сразу бросил. Что-то делать было нереально. Сейчас ситуация конечно изменилась к лучшему, но все равно платформа сырая (за 2 для создал 3 запроса на QC, два из них с глюками). Надеюсь к XE10 получим нормальный инструмент для разработки, я не для долбежки головой о стену платформу...
Автор: SuPriTo
Дата сообщения: 12.10.2014 16:27

Цитата:
SuPriTo, что я только вчера не смотрел


Цитата:
Этот пример смотрел?

Там в примере встраивание контролов правда в ListView. Может быть поменять ListBox на ListView?

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

Хотелось бы надеяться на это. Поэтому собираюсь использовать FM только для мобильных платформ, а для windows использую VCL. Лично для меня это более удобно, чем например, C#.
Автор: NickNNN
Дата сообщения: 12.10.2014 16:37

Цитата:
Там в примере встраивание контролов правда в ListView. Может быть поменять ListBox на ListView?


Там не встраиваемые, а выбираем стиль контролера и с ним работаем. В итоге все все равно сводится к TListBoxItem и его двум параметрам Text и Detail. Кстати, в TlistView еще кнопка есть, ее стилем можно будет под третий текстовый параметр заточить. Спасибо, этот момент я упустил вчера. Т.е. уже имеем 3 тектовых параметра


Цитата:
Поэтому собираюсь использовать FM только для мобильных платформ, а для windows использую VCL. Лично для меня это более удобно, чем например, C#.


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

Автор: SuPriTo
Дата сообщения: 12.10.2014 18:24
NickNNN
Тут лежат еще примеры с ListView Samples\Object Pascal\Mobile Samples\User Interface\ListView
Там вот есть компонент на базе ListView, который вполне может подойти (Проект называется SampleListViewMultiDetailAppearanceProject.dproj).
Автор: NickNNN
Дата сообщения: 12.10.2014 18:30
SuPriTo, все примеры я пересмотрел в первую очередь. Самое близкое что мне нужно было - это ListView с кнопкой. Там 2 текстовых параметра можно задать + кнопка третий


Добавлено:
Вот он: http://docwiki.appmethod.com/appmethod/1.15/topics/en/Customizing_FireMonkey_ListView_Appearance
Автор: prog32bit
Дата сообщения: 12.10.2014 20:26
[more] Подскажите, пожалуйста, как с этим бороться (хочу запустить на дроиде 2.3):
Checking project dependencies...
Compiling Project1.dproj (Debug, Android)
dcc command line for "Project1.dpr"
e:\program files (x86)\embarcadero\studio\14.0\bin\dccaarm.exe -$O- --no-config -M -Q -TX.so -AGenerics.Collections=System.Generics.Collections;
Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG
-E.\Android\Debug -I"e:\program files (x86)\embarcadero\studio\14.0\lib\Android\debug";"e:\program files
(x86)\embarcadero\studio\14.0\lib\Android\Release" -LEC:\Users\Public\Documents\Embarcadero\Studio\14.0\Bpl\Android
-LNC:\Users\Public\Documents\Embarcadero\Studio\14.0\Dcp\Android -NU.\Android\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap; -O"e:\program files
(x86)\embarcadero\studio\14.0\lib\Android\Release" -R"e:\program files (x86)\embarcadero\studio\14.0\lib\Android\Release" -U"e:\program files
(x86)\embarcadero\studio\14.0\lib\Android\debug";"e:\program files (x86)\embarcadero\studio\14.0\lib\Android\Release"
--libpath:E:\Users\Public\PlatformSDKs\android-ndk-r9c\platforms\android-14\arch-arm\usr\lib;
E:\Users\Public\PlatformSDKs\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a
--linker:E:\Users\Public\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe -V -VN
-NO.\Android\Debug Project1.dpr
Success
Elapsed time: 00:00:09.1
Deploy
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8
--Clean=".\Android\Debug\Project1,C:\Users\proger\Documents\Embarcadero\Studio\Projects\Project1._@emb_.tmp"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8 --put="e:\program files
(x86)\embarcadero\studio\14.0\bin\Artwork\Android\FM_LauncherIcon_36x36.png,.\Android\Debug\Project1\res\drawable-ldpi\,1,ic_launcher.png"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8 --put="e:\program files
(x86)\embarcadero\studio\14.0\lib\android\debug\classes.dex,.\Android\Debug\Project1\classes\,1,classes.dex"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8 --put="e:\program files
(x86)\embarcadero\studio\14.0\lib\android\debug\x86\libnative-activity.so,.\Android\Debug\Project1\library\lib\x86\,1,libProject1.so"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8 --put="e:\program files
(x86)\embarcadero\studio\14.0\bin\Artwork\Android\FM_LauncherIcon_48x48.png,.\Android\Debug\Project1\res\drawable-mdpi\,1,ic_launcher.png"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8
--put="Android\Debug\AndroidManifest.xml,.\Android\Debug\Project1\,1,AndroidManifest.xml"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8 --put="e:\program files
(x86)\embarcadero\studio\14.0\bin\Artwork\Android\FM_LauncherIcon_72x72.png,.\Android\Debug\Project1\res\drawable-hdpi\,1,ic_launcher.png"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8 --put="e:\program files
(x86)\embarcadero\studio\14.0\bin\Artwork\Android\FM_LauncherIcon_96x96.png,.\Android\Debug\Project1\res\drawable-xhdpi\,1,ic_launcher.png"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8
--put="E:\Users\Public\PlatformSDKs\android-ndk-r9c\prebuilt\android-arm\gdbserver\gdbserver,.\Android\Debug\Project1\library\lib\armeabi-v7a\,1,gdbserver"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8 --put="e:\program files
(x86)\embarcadero\studio\14.0\lib\android\debug\armeabi\libnative-activity.so,.\Android\Debug\Project1\library\lib\armeabi\,1,libProject1.so"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8
--put="Android\Debug\libProject1.so,.\Android\Debug\Project1\library\lib\armeabi-v7a\,1,libProject1.so"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8 --put="e:\program files
(x86)\embarcadero\studio\14.0\lib\android\debug\mips\libnative-activity.so,.\Android\Debug\Project1\library\lib\mips\,1,libProject1.so"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8 --put="e:\program files
(x86)\embarcadero\studio\14.0\bin\Artwork\Android\FM_LauncherIcon_144x144.png,.\Android\Debug\Project1\res\drawable-xxhdpi\,1,ic_launcher.png"
paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8
--stripdebug="E:\Users\Public\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-strip.exe,.\Android\Debug\Project1\debug\libProject1.so,.\Android\Debug\Project1\library\lib\armeabi-v7a\libProject1.so"

paclient command line
e:\program files (x86)\embarcadero\studio\14.0\bin\paclient.exe -u8
--aaptpackage="E:\Users\Public\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\build-tools\17.0.0\aapt.exe,.\Android\Debug\Project1\library,.\Android\Debug\Project1\classes,.\Android\Debug\Project1\res,.\Android\Debug\Project1\assets,.\Android\Debug\Project1\AndroidManifest.xml,E:\Users\Public\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\platforms\android-10\android.jar,.\Android\Debug\Project1\bin\Project1-unsigned.apk"

[PAClient Error] Error: E2312 Unable to execute '"E:\Users\Public\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\build-tools\17.0.0\aapt.exe" package -f -M "C:\Users\proger\Documents\Embarcadero\Studio\Projects\Android\Debug\Project1\AndroidManifest.xml" -F "C:\Users\proger\Documents\Embarcadero\Studio\Projects\Android\Debug\Project1\bin\Project1-unsigned.apk" -I "E:\Users\Public\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\platforms\android-10\android.jar" -S "C:\Users\proger\Documents\Embarcadero\Studio\Projects\Android\Debug\Project1\res" -A "C:\Users\proger\Documents\Embarcadero\Studio\Projects\Android\Debug\Project1\assets" "C:\Users\proger\Documents\Embarcadero\Studio\Projects\Android\Debug\Project1\library" "C:\Users\proger\Documents\Embarcadero\Studio\Projects\Android\Debug\Project1\classes"' (Error 1)
[PAClient Error] Error: E2312 C:\Users\proger\Documents\Embarcadero\Studio\Projects\Android\Debug\Project1\AndroidManifest.xml:21: error: No resource identifier found for attribute 'largeHeap' in package 'android'
[PAClient Error] Error: E2312 C:\Users\proger\Documents\Embarcadero\Studio\Projects\Android\Debug\Project1\AndroidManifest.xml:21: error: No resource identifier found for attribute 'hardwareAccelerated' in package 'android'
Failed
Elapsed time: 00:00:01.4 [/more]
Автор: SuPriTo
Дата сообщения: 12.10.2014 20:54
На официальном сайте написано следующее:

Цитата:
Applications built with Delphi 2009-XE2 and VCL will run on Windows 2000 or later.
Applications built with Delphi XE3-XE5 will run on Windows XP and later.
Applications built with Delphi XE6-XE7 will run on Windows Vista or later and should (unofficially) also run fine on XP.

Такими темпами скоро XP не будет поддерживаться.
Автор: protoror
Дата сообщения: 12.10.2014 21:22

Цитата:
Applications built with Delphi XE6-XE7 will run on Windows Vista or later and should (unofficially) also run fine on XP.

ну фотошоп новый уже не поддерживает...
а так у меня пока все 100% приложений работают в xp, т.к. на работе XP.
З.Ы. а что вы хотели срок поддержки закончен

NickNNN
не правильно поняли я имел ввиду на мобиле в каждой строке 1 контрол, точнее даже тот разрешения идет кол-во колонок.
Автор: SuPriTo
Дата сообщения: 12.10.2014 23:12
prog32bit
Скорее всего нужно брать другую версию sdk. Лучше взять от XE5 или XE6.
P.S. Не нужно обновлять sdk.
Автор: NickNNN
Дата сообщения: 12.10.2014 23:22
SuPriTo, действительно пример SampleListViewMultiDetailAppearanceProject.dpr показывает как добавить свои свойства в TlistViewItem. Спасибо, то что нужно
Автор: NickNNN
Дата сообщения: 16.10.2014 12:49
Итак, как оказалось, xe7 не поддерживает архитектуру х86. Это в принцыпе написано, но не вникая в детали обратить сходу на это внимание сложно. Я знал что не поддерживается тегра, но это старые процессоры. Атомы же это новые и с каждным днем их все больше. У меня один из планшетов как раз атом

Мое приложение готово функционально на 80% (не путать с юзабилити и отладкой). Уже бросать не буду. Но на 99% принял решение написать на чистои андроиде (пользователям иос не повезло).

Хотел уточнить у участников форума, может кому-то попадалась инфо о планах Ембаркадеро в поддержке х86. В интернете ничего не смог найти. А также мнения на счет того, сложно ли это им реализовать вообще. Если каждую новую архитектуру мы будем ждать по 5 лет, пусть лучше Ембаркадеро занимается VCL ...
Автор: SuPriTo
Дата сообщения: 16.10.2014 13:26

Цитата:
Хотел уточнить у участников форума, может кому-то попадалась инфо о планах Ембаркадеро в поддержке х86.

Обещали сделать в следующей версии.
Features and Technologies After 2014
Android for the Intel platform
Автор: sergionn
Дата сообщения: 16.10.2014 20:03

Цитата:
Уже бросать не буду. Но на 99% принял решение написать на чистои андроиде (пользователям иос не повезло).


Цитата:
о планах Ембаркадеро в поддержке х86

NickNNN, ты как самурай - решил с fmx свой путь пройти, зачем только?
Я думал мой пример и потраченные нервы, хоть кого-то избавят от лишней нервотрепки и пустой растраты времени
Автор: SolidSnakeRU
Дата сообщения: 16.10.2014 23:18
Кого-то избавили)
Автор: NickNNN
Дата сообщения: 18.10.2014 12:58

Цитата:
NickNNN, ты как самурай - решил с fmx свой путь пройти, зачем только?


У меня более 80% кода мобильной и десктопной будут общими - почему бы не попробовать?

На чистом Андроиде все равно хочу сделать версию, хотя бы начать и посмотреть чем оно от Delpi будет отличаться
Автор: kaz_av
Дата сообщения: 18.10.2014 14:38
NickNNN
Ты уже второй раз написал "на чистом Андроиде", переведи, что это означает? Будешь на Java писать? Если на Java, то может имеет смысл на Oxygen посмотреть т.к. на выходе тот самый "чистый Андроид" и получится, а язык поприятнее.

Гугл недавно представила пятый ведроид, где ART уже по дефолту используется. Теперь абракадабре придется что-то новое придумывать о прелестях нативного кода Кстати, о нативном коде... В ведроиде заявлена поддержка 64-битных процессоров, а сколько времени абракадабра будет внедрять поддержку ARM64 и x86-64, если даже обычный x86 только в планах? Риторический вопрос.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129

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


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