tromani

Пользователи
  • Публикации

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

  • Посещение

О tromani

  • Звание
    Пользователь

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

188 просмотров профиля
  1. ну что никто не знает что делать? http://docwiki.embarcadero.com/RADStudio/Berlin/en/Mobile_Tutorial:_Connecting_to_an_Enterprise_Database_from_a_Mobile_Client_(iOS_and_Android) все сделал как тут или они там поприкалывались в ембаркадере? на иос-симуляторе типа работает на устройстве нет?
  2. у меня приложение использует midas подскажите что куда деплоить, или что я делаю не так, я добавил вручную libmidas из папки c:\Program Files (x86)\Embarcadero\Studio\18.0\Redist\iossimulator\ но при попытке опубликовать в аппсторе выдало ошибку что делать добавлял вручную так как не нашел в стандартном списке
  3. проблема нашлась, случайно затисался пробел после $(ModuleName)
  4. вроде все сделал правильно, получил сертификаты т.д. сделал build, deploy родился файлик *.ipa далее запустил application loader http://prntscr.com/eua3ai имеем вот такую беду все бандлы я прописал в project-options все профили оно видит в provisions что не так то?
  5. Step 1: Install the Platform Assistant The Platform Assistant must be running on the Mac толи я безнадежно туп толи всетаки надо иметь устройство - работающий мак
  6. а както можно без наличия устройства iOS, вот это было б полезная статья если кто поделится опытом буду признателен
  7. да с делфи последнее врем все так, приходится недельку на то недельку на се а вот не хочется тратить столько времени на очевидно вещи которые должны бы в комплекте идти... особенно в контексте стоимости. ну да наверно может быть спустя еще 5-6 версий мы получим продукт востребованный сегодня...
  8. удивляет конечно ембаркадеро, что за нехорошие люди, ну если вы на каждом углу кричите что у вас мульти-платформенная система то где виндовс в TMapView
  9. uses Androidapi.JNI.App, Androidapi.JNI.JavaTypes, AndroidApi.JniBridge; procedure GetNotificationManager(var NfMn: JNotificationManager); var NotManObj : JObject; begin NotManObj:=SharedActivity.getSystemService(TJActivity.JavaClass.NOTIFICATION_SERVICE); NfMn:=TJNotificationManager.Wrap((NotManObj as ILocalObject).GetObjectID); end; для андроидов до 5.0 все ок начиная с 5.0 вылетает - "в приложении произошла ошибка" и досвиданья причем это происходит на многих вариантах getSystemService может кто знает в чем дело, я гуглил гдето встречал обсуждение но сечас найти чтото не могу, может знаете как быть путем разбиения на части выявил что проблема в (NotManObj as ILocalObject).GetObjectID этом куске - аксесс виолатион имеем
  10. в общем вышел из положения, очередным костылем к FMX, если кому понадобиться вот полный текст, работает сносно procedure JBLoadFromFile(FileName:string; const ABitmap : TBitmap;W,H:integer); procedure SwapRB(var src:TJavaArray<Integer>); var i:integer; begin for i:= 0 to src.Length-1 do src.Items[i]:=(src.Items[i] and $FF00FF00) or ((src.Items[i] and $000000FF) shl 16) or ((src.Items[i] and $00FF0000) shr 16); end; procedure JBitmapToBitmap(const AImage: JBitmap; const ResBitmap: TBitmap); var ImageData: TJavaArray<Integer>; BitmapData: TBitmapData; Width, Height: Integer; begin Width := AImage.getWidth; Height := AImage.getHeight; try ResBitmap.SetSize(Width,Height); ImageData := TJavaArray<Integer>.Create(Width * Height); AImage.getPixels(ImageData, 0, Width, 0, 0, Width, Height); SwapRB(ImageData); if ResBitmap.Map(TMapAccess.maWrite, BitmapData) then try Move(ImageData.Data^, BitmapData.Data^, Width * Height * SizeOf(Integer)); finally ResBitmap.Unmap(BitmapData); end else ResBitmap.Clear(TAlphaColorRec.Green); except ResBitmap.Clear(TAlphaColorRec.Green); end; end; function calculateInSampleSize(options:JBitmapFactory_Options; reqWidth, reqHeight:integer):integer; var nh,nw:integer; heightRatio,widthRatio:integer; begin nh:=options.outHeight; nw:=options.outWidth; result:=1; if (nh> reqHeight) or (nw > reqWidth) then begin heightRatio:=round( nh / reqHeight); widthRatio:= round(nw /reqWidth); if heightRatio<widthRatio then Result:=heightRatio else Result:=widthRatio; end; end; var bmf_options:JBitmapFactory_Options; cbm:JBitmap; begin bmf_options:=TJBitmapFactory_Options.JavaClass.init; bmf_options.inJustDecodeBounds := true; TJBitmapFactory.JavaClass.decodeFile(StringToJString(FileName),bmf_options); bmf_options.inSampleSize := calculateInSampleSize(bmf_options, W, H); bmf_options.inJustDecodeBounds := false; try cbm:=TJBitmapFactory.JavaClass.decodeFile(StringToJString( FileName),bmf_options); except cbm:=nil; end; if Assigned(cbm) then try JBitmapToBitmap(cbm,ABitmap) except ABitmap.Clear(TAlphaColorRec.Blue); end else ABitmap.Clear(TAlphaColorRec.Green); end; может кто улучшит, подскажет чтото новое
  11. перепробовал все 4 варианта - результат неизменный - вместо синего - красный
  12. я думал в эту сторону только не нашел как поменять, помниться в VCL можно было просто присвоить а тут реад-онли проперти
  13. попробуем продолжить, на стареньком но не очень уж мертвом устройстве загрузка файла происходит катострофически невероятно долго. нашел более менее нормальный по скорости способ. но и тут не так все хорошо может ктото поймет в чем дело: procedure JBitmapToBitmap(const AImage: JBitmap; const ResBitmap: TBitmap); var ImageData: TJavaArray<Integer>; BitmapData: TBitmapData; Width, Height: Integer; begin Width := AImage.getWidth; Height := AImage.getHeight; try ImageData := TJavaArray<Integer>.Create(Width * Height); ResBitmap.SetSize(Width,Height); AImage.getPixels(ImageData, 0, Width, 0, 0, Width, Height); if ResBitmap.Map(TMapAccess.maWrite, BitmapData) then try Move(ImageData.Data^, BitmapData.Data^, Width * Height * SizeOf(Integer)); finally ResBitmap.Unmap(BitmapData); end else ResBitmap.Clear(TAlphaColorRec.Green); except ResBitmap.Clear(TAlphaColorRec.Green); end; end; function calculateInSampleSize(options:JBitmapFactory_Options; reqWidth, reqHeight:integer):integer; var nh,nw:integer; heightRatio,widthRatio:integer; begin nh:=options.outHeight; nw:=options.outWidth; result:=1; if (nh> reqHeight) or (nw > reqWidth) then begin heightRatio:=round( nh / reqHeight); widthRatio:= round(nw /reqWidth); if heightRatio<widthRatio then Result:=heightRatio else Result:=widthRatio; end; end; var cur_bitmap:JBitmap; bitmap_option:JBitmapFactory_Options; cf_path:string; begin bitmap_option:=TJBitmapFactory_Options.JavaClass.init; bitmap_option.inJustDecodeBounds := true; TJBitmapFactory.JavaClass.decodeFile(StringToJString(cf_path),bitmap_option); bitmap_option.inSampleSize := calculateInSampleSize(bitmap_option, Round(Image5.Width), Round(Image5.Height)); bitmap_option.inJustDecodeBounds := false; try cur_bitmap:=TJBitmapFactory.JavaClass.decodeFile(StringToJString(cf_path),bitmap_option); except cur_bitmap:=nil; end; if Assigned(cur_bitmap) then JBitmapToBitmap(cur_bitmap,Image5.Bitmap); end; таким образом все просто шикарно, загрузка мгновенно все норм кроме одного, вместо синего - красный, не знаю как решить