Перейти к содержанию
Fire Monkey от А до Я

ildvild

Пользователи
  • Постов

    10
  • Зарегистрирован

  • Посещение

Посетители профиля

753 просмотра профиля

Достижения ildvild

  1. До этого Вы писали что у Вас Delphi зависает. Я выше привел код для конструктора и деструктора. После этого зависание осталось? Проверьте при выбранных платформах Windows и Android. p.s. Переделал ваш код, но под платформой андроид не смотрел, т.к. она отсутствует, но запуститься по идее должно unit BATTERY; interface uses {$IFDEF ANDROID} AndroidAPI.Helpers, AndroidAPI.JNI.GraphicsContentViewText, {$ENDIF} System.SysUtils, System.Classes; type TBattery = class(TComponent) private public { Public declarations } Constructor Create(AOwner: TComponent); override; Destructor Destroy; override; function GetBatteryPercent: string; procedure SetBatteryPercent(Value: string); {$IFDEF ANDROID} function BatteryPercent(const aContext: JContext): integer; {$ENDIF} published { Published declarations } property Battery: string read GetBatteryPercent write SetBatteryPercent; end; procedure Register; implementation procedure Register; begin RegisterComponents('ARION', [TBattery]); end; { TBattery } {$IFDEF ANDROID} function TBattery.BatteryPercent(const aContext: JContext): integer; var filter: JIntentFilter; Battery: JIntent; begin filter := TJIntentFilter.Create; filter.addAction(TJIntent.JavaClass.ACTION_BATTERY_CHANGED); Battery := aContext.registerReceiver(NIL, filter); result := Battery.getIntExtra(StringToJString('level'), -1); end; {$ENDIF} constructor TBattery.Create(AOwner: TComponent); begin inherited Create(AOwner); end; destructor TBattery.Destroy; begin inherited Destroy; end; function TBattery.GetBatteryPercent: string; {$IFDEF ANDROID} var myContext: JContext; {$ENDIF} begin result := 'N/A'; {$IFDEF ANDROID} if not(csDesigning in ComponentState) then begin myContext := SharedActivityContext; result := (BatteryPercent(myContext).ToString); end; {$ENDIF} end; procedure TBattery.SetBatteryPercent(Value: string); begin {$IFDEF ANDROID} {$ENDIF} end; end.
  2. Что именно сейчас не работает? Данный код я бы добавил в сеттер и геттер, но судя по коду выше они у вас не правильны
  3. constructor TBattery.Create(AOwner: TComponent); begin inherited Create(AOwner); end; destructor TBattery.Destroy; begin inherited Destroy; end;
  4. Возможно нужно добавить проверку на то, что данные о батарее получаются не в design time if not(csDesigning in ComponentState) then
  5. Alexander616, ответили же, такой возможности нет
  6. Да, удалять элементы можно только в режиме Master. Далее, не обязательно добавлять другие экраны, всю работу можно делать только в режиме мастера. Экраны тут добавлены только для удобства работы, т.к. визуально все видно. Например, вам нужно в случае, если устройство планшет, отображать панельку. Вы можете сделать это в Мастере прописав код. А можете добавить экран планшета и уже в дезайн тайме отобразить панель.
  7. У меня тоже самое (на XE7). Видимо что то подгружается при первом запуске, поэтому и медленно.
  8. Nix0N, спасибо за компонент. Не хватает проверок на наличие событий if Assigned(mOnClick) then mOnClick(nil);
  9. Подскажите, как на Android осуществлять хранение настроек. Через ini файлы я как понял нельзя.
×
×
  • Создать...