Активность
- Вчера
-
Саня изменил фотографию своего профиля
- Последняя неделя
-
Дмитрий Ермаков изменил фотографию своего профиля
-
Алексей Стамберский изменил фотографию своего профиля
-
Валерий Краснобородько изменил фотографию своего профиля
-
AlexanderU присоединился к сообществу
-
Прохор Иванов изменил фотографию своего профиля
-
AngryOwl отреагировал на ответ на вопрос: Ошибка сборки программы под RedOS (cannot find -lgcc_s).
-
Jorge Cunha присоединился к сообществу
-
krapotkin отреагировал на ответ на вопрос: Ошибка сборки программы под RedOS (cannot find -lgcc_s).
-
Dmitry_4501 отреагировал на ответ на вопрос: Ошибка сборки программы под RedOS (cannot find -lgcc_s).
-
Отличное решение Dmitry_4501! Большое спасибо за профессиональную помощь.
-
oleg bat присоединился к сообществу
-
dragan radevic присоединился к сообществу
-
Tumaso отреагировал на ответ на вопрос: Ошибка сборки программы под RedOS (cannot find -lgcc_s).
-
В общем. Я решил тоже установить RedOS. Установил на виртуалку. Собрал SDK в Delphi. Попробовал собрать проект - не получилось Тогда я начал искать в сети решения. Нашел как установить gcc и прочие утилиты и библиотеки для разработки. (при помощи команды dnf groupinstall "Development Tools" После установки я решил обновить SDK при помощи кнопки Update Local File Cache По итогу ничего не получилось. Тогда я решил при помощи Beyond Compare сравнить файлы и папки моих SDK (один для RedOS не работающий и второй для Ubuntu полностью рабочий). Я заметил различие в том что в SDK для RedOS отсутствовала папка gcc. Я полез искать эту папку в самой RedOS и нашел её, но почему-то PAServer её не передал во время создания SDK. Зайдя в папку я нашел причину проблемы. Для Ubuntu папка с gcc называется вот так - x86_64-linux-gnu А для RedOS папка с gcc называется вот так - x86_64-redsoft-linux Вот и вся причина. PAServer ничего не знает ни о какой x86_64-redsoft-linux и поэтому при создании SDK её не копирует. Отсюда и ошибка сборки проекта на стадии линковки. В общем, решил эту проблему самым простым способом - создал символическую ссылку ln -s ./x86_64-redsoft-linux ./x86_64-linux-gnu А затем ещё раз в Delphi нажал на кнопку Update Local File Cache После того как процесс обновления файлов SDK завершился я попробовал собрать проект и... Краткое руководство как получить рабочий SDK для RedOS. 1. Загружаем PAServer в систему 2. Выполняем команду dnf groupinstall "Development Tools" 3. В терминале переходим по пути из / в /usr/lib/gcc 4. Создаем символическую ссылку ln -s ./x86_64-redsoft-linux ./x86_64-linux-gnu 5. В Delphi создаем\обновляем (при помощи Update Local File Cache) SDK для RedOS Готово
-
Попробуй создать симлинк, например ln -s /usr/lib/gcc/x86_64-linux-gnu/4.6/libgcc_s.so /usr/lib/gcc/libgcc_s.so
- Ещё раньше
-
Эта ошибка как раз на SDK для RedOS 8. Здесь ранее (в 2017 году) предлагалось добавить в RedOS пакеты gcc-6 и linux-compiler-gcc-6-x86, но таких уже нет. Пробовал установить просто gcc, не помогло.
-
Может поможет создание еще одного SDK но уже для RedOS?
-
bilge bilge присоединился к сообществу
-
Программа (каталог библиографических ссылок) компилируется RAD Studio 12.1 под Ubuntu 22.04, но появляется ошибка при сборке под RedOS 8: [DCC Error] E2597 C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\ld-linux.exe: error: cannot find -lgcc_s. Решения, найденные поиском не помогают. Может есть варианты решения?
-
Dmitry_4501 подписался на Замечали ли вы у себя такое поведение IDE?
-
Уже давно замечаю такое странное поведение, но увы, отловить пока причину так и не смог. Не сказать бы что это хоть как-то влияет на работу самой IDE. В общем. При открытии и установке пакетов иногда среда может поломать пути в настройках в секции Library, исключительно для Windows 32-bit, для остальных платформ всё нормально. Вот как это выглядит. А вот как выглядит на Windows 64 Разницу заметили? Если нет, то вот в чём она выражается Среда, с какого-то момента изменяет пути таким образом, чтобы ни одной переменной не было. Причём, если добавить новый путь с использованием переменных, то спустя какое-то время и он изменится.
-
Кайрат Ботбаев присоединился к сообществу
-
Vladimir Gaivoronsky отреагировал на ответ на вопрос: Как узнать версию приложения под Android?
-
Приветствую Всех ! Требуется небольшое содействие в таком вопросе: Имеется форма типа TfmMain, на которой расположен компонент grMain : TGrid. В grMain содержится колонка типа TFloatColumn. Для grMain заданы два события: OnGetValue и OnSetValue так: var Matrix : array[0..9, 0..9] of Double; {--------------------------------------------------------------------------} procedure TfmMain.grMainGetValue( Sender : TObject; const ACol, ARow : Integer; var AValue : TValue); begin AValue := TValue(Matrix[ARow, ACol]); end; {--------------------------------------------------------------------------} procedure TfmMain.grMainSetValue( Sender : TObject; const ACol, ARow : Integer; onst AValue : TValue); begin Matrix[ARow, ACol] := StrToFloat(AValue.AsString); end; Вопрос вот в чем: Я использовал колонку типа TFloatColumn и ожидаю, что в обработчик OnSetValue будет передано значение AValue содержащее в себе значение типа Single / Double / Extended, т.е вещественного типа. Однако AValue содержит значение типа String ! Можно ли, каким либо образом, заставить TFloatColumn передавать, значение вещественного типа, в обработчик OnSetValue ? Иными словами, я не хочу вызывать функцию StrToFloat в методе gtMainSetValue ! В Help'e ничего поясняющего данную ситуацию я не нашел.
-
Renato Dexheimer присоединился к сообществу
-
Валерий Богданов изменил фотографию своего профиля
-
MB190 изменил фотографию своего профиля
-
Alexei Vorontsov изменил фотографию своего профиля
-
Шомил Тагоев присоединился к сообществу
-
Sergey S отреагировал на ответ на вопрос: Не удается перетащить (Drag and Drop) итем TListBoxItem между двумя TListBox
-
Это понятно. Я попробовал 2 верианта: Использовал один из имеющихся стилей ( Их там великое множество - Вот бы иметь описание, зачем, каждый из них, нужен. ) Отредактировал имеющийся, удалив подкомпонент Text. Нужный эффект получен.
-
Anton Putilov изменил фотографию своего профиля
-
да. если из стиля убрать текст(или переименовать объект с этим именем), то он отобразиться не сможет ни при каких условиях
-
Спасибо ! Круто ! Я сразу подумал, что не получил ответа - Причем тут стили ? , но понял, что ошибался, посмотрев урок. Концепция стилей действительно крутая. Обязательно посмотрю следующие уроки !
-
-
Billy Bones изменил фотографию своего профиля
-
В VCL, у класса TToolBar, есть свойство ShowCaptions, которое позволяет отображать / скрыть надписи на кнопках, расположенных на TToolBar'е. Не вижу ничего подобного в FMX. Подскажите можно ли добиться того, чтобы надписи на кнопках ( TSpeedButton ) не отображались, даже если они заданы в свойствах Action, сопоставленной с кнопкой ? Наблюдаю еще такую вещь: Сбрасываю свойство Text у TSpeedButton, но у Action оно установлено. В Design Time надписи на кнопках не отображаются, а в Run Time надписи считываются из Action. Интересно знать каков алгоритм выбора текста для отображения на кнопке ( свое поле Text или поле Action.Text ) ? Как этим управлять ? PS: Наведите, если не сложно, на учебный материал (книги, ... ) по библиотеке FMX. Т.е интересен материал, поясняющий, как, грамотно строить интерфейс с помощью FMX. VCL пользуюсь очень давно, а с FMX - всё, как-то, через ж... ;)
-
PRBET RU присоединился к сообществу
-
Лев Кулитков присоединился к сообществу
-
А что https://github.com/Spelt/ZXing.Delphi не работает?
-
FMX, Delphi Rio, чтение штрихкодов
Колодезный Алексей ответил Aleks Serov вопрос в Поиск компонентов
Ох. Как говориться, шли годы, а тривиальная задача так и не решена под эту обезьяну. Это уже не говоря о том, что косяков там дикое кол-во, и с годами лучше не становится -
тема закрыта!
-
blStartDiscovery := FJBluetoothAdapter.startDiscovery; if TJBuild_VERSION.JavaClass.SDK_INT >= 29 then тогда нужно доп разрешение FPermissionBackgroundLocation := JStringToString(TJManifest_permission.JavaClass.ACCESS_BACKGROUND_LOCATION); тут через BroadcastReceiver ловим TJBluetoothDevice.JavaClass.ACTION_FOUND и TJBluetoothAdapter.JavaClass.ACTION_DISCOVERY_FINISHED и TJBluetoothAdapter.JavaClass.ACTION_DISCOVERY_STARTED в методе BroadcastReceiver OnReceive(Context: JContext; Intent: JIntent); if JStringToString(Intent.getAction).Equals(JStringToString(TJBluetoothDevice.JavaClass.ACTION_FOUND)) then begin Parcel := intent.getParcelableExtra(TJBluetoothDevice.JavaClass.EXTRA_DEVICE); if Parcel <> nil then BluetoothDevice := TJBluetoothDevice.Wrap((Parcel as ILocalObject).GetObjectID); if BluetoothDevice <> nil then if (BluetoothDevice.getBondState() = TJBluetoothDevice.JavaClass.BOND_NONE) then begin Form1.AddListViewItem(Form1.lvBTOBD, jstringtostring(BluetoothDevice.getName), jstringtostring(BluetoothDevice.getAddress),'Bluetooth'); end; end;
-
uses ... type TGnnsStatusCallbackDelegate = class(TJavaLocal, JGnssStatusCallbackDelegate) private FCallback: JGnssStatusCallback; protected public procedure onFirstFix(ttffMillis: Integer); cdecl; procedure onSatelliteStatusChanged(status: JGnssStatus); cdecl; procedure onStarted; cdecl; procedure onStopped; cdecl; public constructor Create(); end; ... var GnnsStatusCallbackDelegate := TGnnsStatusCallbackDelegate implementation procedure TForm1.FormCreate(Sender: TObject); begin GnnsStatusCallbackDelegate := TGnnsStatusCallbackDelegate.Create; end; constructor TGnnsStatusCallbackDelegate.Create; begin inherited Create; FCallback := TJGnssStatusCallback.JavaClass.init(TAndroidHelper.Context, Self); end; procedure TGnnsStatusCallbackDelegate.onFirstFix(ttffMillis: Integer); begin // end; procedure TGnnsStatusCallbackDelegate.onSatelliteStatusChanged( status: JGnssStatus); var satelliteCount, usedCount: Integer; begin TTask.Run(procedure var i: Integer; begin try usedCount:= 0; satelliteCount := status.getSatelliteCount(); for i := 0 to satelliteCount - 1 do if status.usedInFix(i) then usedCount := usedCount + 1; TThread.Synchronize(nil, procedure begin Form1.tqsSatMax.Text := satelliteCount.ToString; Form1.tqsSat.Text := usedCount.ToString; Form1.tnSat.Text := usedCount.ToString; end); except Form1.LogCAAdd('TGnnsStatusCallback except'); end; end); end; procedure TGnnsStatusCallbackDelegate.onStarted; begin // end; procedure TGnnsStatusCallbackDelegate.onStopped; begin // end;
-
Да - чуть было не забыл: тостер внутри J_BT.zip
-
Вообще-то - проект не мой, а лежит по адресу: c:\Users\Public\Documents\Embarcadero\Studio\22.0\Samples\Object Pascal\Multi-Device Samples\Device Sensors and Services\Bluetooth\ и окромя ГолубыхЗубов (базируется, правда на System.Bluetooth) там ещё кучи: ВиФи, акселерометр, геолокация, ... но самый прикольный TabSliding. Как и подсказал OnePeople в потоке TJReceiver ждём CRLF (#10 + #13) и строка выходит целиком, НО время её "коллекционирования" в System.Bluetooth занимает где-то секунд 5, а у мя таймер каждые 500 мС посылает запрос состояния и выводит положение датчиков.... Так что System.Bluetooth - не вариант, а вот исходник (точнее - обрывки) из последнего поста OnePeople после кувалды и напильника шлифанул "нулёвкой" и заработало... Кстати, для таких же почемучек как я (а мож и погоремычнее) приаттачиваю отшлифованный проект на Androidapi.JNI.Bluetooth (Ас Из - искушённые Гуру заметят в нём угловатости но критику эту - в студию: допилим). И чтобы чат заработал необходимо в среде Arduino IDE прошить ЕСП32 скетчем c:\Users\Администратор\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\BluetoothSerial\examples\SerialToSerialBT\... Затем проект затолкать Дэлфёй в телефон, в БТ-меню тела нажать "добавить устройство" и тел начнёт дискаверить.... По завершении законнектиться с ESP32-BT-Slave и тут же разорвать коннект, запустить J_BT, нажать btGetPaired и в комбобоксе (что рядом с ней) выбрать ESP32-BT-Slave и как увидите TJReceiver = Started и FJSocket <> nil - можно чатиться с ЕСПхой открыв в Arduino IDE монитор сериал порта (Ctrl+Shift+M). Вот и добрались к центральному вопросу поста: а как средствами Androidapi.JNI.Bluetooth дискаверить устройства поблизости? Нет можно, конечно, забить костыль из System.Bluetooth, но хотелось бы чтобы если уж АПИ, то АПИ. Заранее благодарен. J_BT.ZIP
-
Привет Луди! Извините за рускии язык. У мена ест код на C# проект. Ево надо На делпи перевести. Код маленки. Кто помозет мен на етом? конешно не бесплатно. Поставлау код исходник. Собран на Висуал Студио 2012 на C#
-
Более тупого вопроса на форуме, посвященному делфи, и не припомню
-
Во все мыслимые стороны. Популярность Делфи выросла на прямых клиент-серверных приложениях. Сейчас так не пишут, почти везде - веб.
-
Firemonkey подписался на Delphi vs MS Visual Studio
-
В чем преимущества (кроме бесплатности) у MS Visual Studio перед Delphi при создании Windows-программ?