-
Постов
14 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Blind_Cat
-
-
Project->Make <Имя проекта>
Project->Deploy <Имя проекта>
Далее взять apk файл из .\$(Platform)\$(Config)\<Имя проекта>\bin перенести его на устройство и установить. -
Да, конечно. apk собирается на компьютере кросскомпиляцией и ложится в .\$(Platform)\$(Config)\<Имя проекта>\bin
-
А можно рабочий пример увидеть
19 минут назад, krapotkin сказал:файл в проект не включен
Ок. Спасибо. Если кому-то понадобится, то образец разделения на Delphi в приложенном файле.
В течение дня попробую сделать тоже самое на Builder. -
Почему не должны? Файл в проект влючен? Включен. Где сказано что его собирать не надо?
Да и вопрос был не о Delphi, а о Builder. Но это как мне кажется несущественно.PS Имя файла, в частности его суффикс файла только подсказывает нам его содержимое. Файлы вообще могут называться 1.pas 2.pas 3.pas итд.
-
14 часов назад, krapotkin сказал:
unit unit1; {$IFDEF MSWINDOWS} {$i unit1.win.pas} {$ENDIF} {$IFDEF IOS} {$i unit1.ios.pas} {$ENDIF} end;
При этом файлы unit1.win.pas и unit1.ios.pas должны быть добавлены в проект. Соответственно при компиляции для ios, компилятор будет пытаться собрать и unit1.win.pas. Что приведет к ошибкам при использовании типов и функций Win32.
Вероятно решением будет еще внутри unit1.win.pas и unit1.ios.pas обернуть все это добро в ifdef/endif.
Спасибо за обсуждение =) -
8 часов назад, RoschinSpb сказал:
Можно кактотак обернуть весь код в IFDEF. Тогда можно компилировать под любой платформой.
Но в процессе написания и отладки рекомендую все-таки закомментировать диррективы условной компиляции, а в окончательном варианте раскомментировать.unit UnitWindows; //{$IFDEF MSWINDOWS} interface ... implementation ... initialization ... finalization ... //{$ELSEIF} //implementation //{$ENDIF} end.
Это получается код под разные платформы в одном файле. А этого хочется избежать.
-
Спасибо. А не подскажете в iOS и OSX возможен запуск нескольких экземпляров приложения?
Подозреваю, что в iOS -- только один экземпляр, а в OSX -- возможен запуск нескольких экземпляров.
Как предотвратить повторный запуск приложения под OSX? -
Это в одном файле. В CPP можно конечно подключить, через что-то подобное
=== reailze.cpp ===
#if defined (_Windows)
# include "win/reailze.cxx"
#elif defined(__ANDROID__)
# include "anrdoid/reailze.cxx"
#endif
=== reailze.cpp ===
И туда уже вынести специфику... Но для успешной сборки/линковки оба этих файла должны быть добавлены к проекту.
Соответственно при использовании платформенно зависимых типов внутри СХХ файлов мы получим невозможность сборки проекта.
-
-
Тогда никак... Наверное можно попробовать использовать USB-донглы сторонних производителей с их собственным BLE стеком. Например: https://www.bluegiga.com/en-US/products/bled112-bluetooth-smart-dongle/
-
День добрый.
Суть задачи: Есть мультиплатформенный код(Пока Android/Win64/Win32), как вынести код относящийся к разным платформам в отдельные файлы?
При этом чтобы в проект для андроида были добавлены файлы допустим android/xxx.cpp, а для windows win/xxx.cpp. Насколько я увидел IDE не поддерживает условное добавление файлов в проект.
Как кто выкручивается в этих случаях? -
День добрый.
Насколько я помню BLE появился в Win 8.1 и новее. На какой системе производится попытка запуска приложения? -
Здравствуйте, коллеги.
Подскажите пожалуйста как запретить повторный запуск приложения под Windows при использовании FireMonkey.На VCL при старте приложения создавал уникальный Mutex и при старте приложения и по его наличию/отсутствию понимал, что приложение уже запущенно.
Как такое аналогичное сделать в FireMonkey?
#if defined(_Windows) // ... // Код для Windows // ... #elif defined(__ANDROID__) // ... // Код для андроид // ... #elif defined(....) # // ... # // ... # // ... #else # error "Unknown platfrom type" #endif
Так делать не очень хочется по множеству причин.
PS RAD Studio 10 Seattle.
Разделение платформозависимого кода по файлам
в Прочие вопросы
Опубликовано
В общем с билдером тоже самое. Единственное смущает, что файлы используемые в проекте в сам проект не добавлены.
Для добавления всех файлов в проект необходимо обрамить платформозависимый код #ifdef/endif.
Рабочий пример в приложении. Тему можно закрывать)
test_multifile_bcb.zip