Перейти к содержанию

OnePeople

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

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

  • Посещение

  • Победитель дней

    21

OnePeople стал победителем дня 18 марта

OnePeople имел наиболее популярный контент!

2 Подписчика

Информация о OnePeople

  • Звание
    Продвинутый пользователь

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

5 498 просмотров профиля
  1. Возмите TabControl отсюда https://github.com/Zeus64/alcinoe/
  2. procedure DownloadImages; var RS: TResourceStream; begin RS:=TResourceStream.Create(HInstance, 'FonMain', RT_RCData); try Fon <<<<<<<<<<<<<<<<<< Где Create??? Fon.Width:=420; Fon.Height:=680; Fon.LoadFromStream(RS); finally RS.Free; end; end; Тута нет procedure TForm1.FormCreate(Sender: TObject); begin Regim:=0; Buf:=TBitmap.Create; Buf.Width:=420; Buf.Height:=680; form1.Border.Styling:=false; DownloadImages; //zagruzka kartinok end;
  3. Ошибку чего??? Вы создаете процедуру, с именем каким вы хотите, как это может быть ошибкой, проверяйте синтаксис
  4. По поведению на различных прошивках я не могу вам ни чего сказать вообще не думаю что это связанно с версией андроида, а связанно с прошивкой вендора. Выдернул из рабочего проекта, строго не пинать, за корявость) 1. type {$IFDEF ANDROID} TMyAudioFocusChangeListener = class; {$ENDIF} TForm1 = class(TForm) 2. private { Private declarations } {$IFDEF ANDROID} afChangeListener: TMyAudioFocusChangeListener; 3. public procedure onAudioFocusChange(focusChange: Integer); end; TAudioFocusChangeEvent = procedure(focusChange: Integer) of object; TMyAudioFocusChangeListener = class(TJavaLocal, JAudioManager_OnAudioFocusChangeListener) private [weak] FParent : TForm1; FOnAudioFocusChanged: TAudioFocusChangeEvent; public constructor Create(AParent : TForm1); property OnAudioFocusChanged: TAudioFocusChangeEvent read FOnAudioFocusChanged write FOnAudioFocusChanged; Destructor Destroy; Override; procedure onAudioFocusChange(focusChange: Integer); cdecl; end; 4. constructor TMyAudioFocusChangeListener.Create; begin inherited Create; FParent := AParent; end; destructor TMyAudioFocusChangeListener.Destroy; begin inherited; end; procedure TMyAudioFocusChangeListener.onAudioFocusChange(focusChange: Integer); begin if Assigned(FOnAudioFocusChanged) then begin FOnAudioFocusChanged(focusChange); end; FParent.onAudioFocusChange(focusChange); end; procedure TForm1.onAudioFocusChange(focusChange: Integer); begin Form1.Memo2.Lines.Add('focus change:'+focusChange.ToString); if (focusChange=TJaudioManager.JavaClass.AUDIOFOCUS_LOSS) then begin MusicControl.AudioFocus:=false; case MusicControl.MusicType of TMusicType.Music: if MusicControl.Music.MusicState=TMusicState.Play then begin MusicPlayPause; exit; end; TMusicType.Radio: if MusicControl.Radio.MusicState=TMusicState.Play then begin RadioPlayPause; exit; end; end; end; end; 5. procedure TForm1.GetAudioFocus; begin // {$IFDEF ANDROID} CallinUIThread(procedure var AudioFocusRequest: JAudioFocusRequest; playbackAttributes: JAudioAttributes; afHandler: JHandler; res: integer; begin afChangeListener:=TMyAudioFocusChangeListener.Create(Self); afHandler:= TJHandler.Create; playbackAttributes := TJAudioAttributes_Builder.Create .setUsage(TJAudioAttributes.JavaClass.USAGE_MEDIA) .setContentType(TJAudioAttributes.JavaClass.CONTENT_TYPE_MUSIC) .build(); AudioFocusRequest:=TJAudioFocusRequest_Builder(TJAudioManager.JavaClass.AUDIOFOCUS_GAIN).Create .setAudioAttributes(playbackAttributes) .setAcceptsDelayedFocusGain(true) .setOnAudioFocusChangeListener(afChangeListener, afHandler) .build(); res:=FAudioManager.requestAudioFocus(AudioFocusRequest); if res = TJAudioManager.JavaClass.AUDIOFOCUS_REQUEST_DELAYED then LogCAAdd('AUDIOFOCUS_REQUEST_DELAYED') else if res = TJAudioManager.JavaClass.AUDIOFOCUS_REQUEST_GRANTED then begin MusicControl.AudioFocus:=true; LogCAAdd('AUDIOFOCUS_REQUEST_GRANTED'); end else if res = TJAudioManager.JavaClass.AUDIOFOCUS_REQUEST_DELAYED then LogCAAdd('AUDIOFOCUS_REQUEST_DELAYED'); end ); {$ENDIF} end; P.S. Для android 8 выше! для поддержки ранешних версий Android нужно немного дописать
  5. Audiofocus отлавливать, пример могу через пару часиков скинуть, а лучше сами в справке Гугла посмотрите
  6. Проверьте пути к файлу procedure TForm1.TetheringAppProfile1Resources3ResourceReceived( const Sender: TObject; const AResource: TRemoteResource); var GetImage : TMemoryStream; begin GetImage := TMemoryStream.Create; GetImage.LoadFromStream(AResource.Value.AsStream); GetImage.Position := 0; ImageViewer1.Bitmap.LoadFromStream(GetImage); GetImage.Free; end;
  7. В DesignMode зайдите и попробуйте поменять размеры Height и Width на 0
  8. У меня было на винде создавал папку с именем aux)))) А оказывается нельзя её создать!
  9. TDirectory.CreateDirectory(IncludeTrailingPathDelimiter('/storage/emulated/0/3D Мебель: Расчет')); TDirectory.CreateDirectory(IncludeTrailingPathDelimiter(FinalyDir)); Проверьте создаются ли папки? TDirectory.ForceDirectories('/storage/emulated/0/3D Мебель: Расчет/Проект № ' + AppForm.Order.OID) вернет true если все хорошо
  10. Ну пишите сразу код, а то не понятно куда вы записываете, что в bitmap и т.д.
  11. Ну все правильно дайте на чтение также разрешение, соответственно и в манифесте также FPermissionReadExternalStorage := JStringToString(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE); FPermissionWriteExternalStorage := JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE); PermissionsService.RequestPermissions([ FPermissionReadExternalStorage, FPermissionWriteExternalStorage], nil);
  12. Покажите код записи И приложите ваш манифест
  13. Так окно запроса разрешений появляется??? PERMITWRITEEXT := JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE); PermissionsService.RequestPermissions([PERMITWRITEEXT], nil)
  14. Если в манифесте есть <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> то все должно работать! Context.getExternalFilesDir(String) и Context.getExternalCacheDir() в эти каталоги должно и без разршения записывать если API 19 или выше!
×
×
  • Создать...