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

zekelive

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

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

  • Посещение

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

    1

Активность репутации

  1. Like
    zekelive отреагировална krapotkin в Оптимизация поток и AniIndicator   
    логика должна быть такой
    в главном потоке запускаем индикатор и доп. поток.
    При окончании работы доп. поток например в событии OnTerminate прячет индикатор. 
    Всё.
    Если есть прямо жестокая необходимость, чтобы доп. поток как-то отчитывался о прогрессе, пусть отправляет сообщения в главный поток.
    Никаких других знаний друг о друге у обоих потоков быть не должно.
    Это идеальная универсальная схема. Ессн бывают всякие обстоятельства, но в целом она рабочая всегда.
    подробнее я писал об этом тут
     
  2. Thanks
    zekelive отреагировална Slym в Артефакты вокруг TLabel   
  3. Like
    zekelive получил реакцию от МихаилЪ чайковЪ в Открытие изображения из Image в Галерее   
    Все получилось, спасибо!) Кое-что изменил, и вышло вот так:
    var intent:Jintent; begin   Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);  Intent.setDataAndType(StrToJuri(url),StringToJString('image/jpeg'));  SharedActivity.startActivity(Intent); end; где URL - адрес моей картинки в интернете.
  4. Thanks
    zekelive отреагировална dim в как проверить что сервер доступен   
    я сделал так, пробую вызвать метод
      try
        ClientModule1.ServerMethods1Client.Send_messageOperator(Person.Phone,task_operator.Text);
      except
        ClientModule1:=nil;
        ConnectToServer;
        exit;
      end;
        и если ошибка то в ConnectToServer
    if ClientModule1=nil then
          ClientModule1:= TClientModule1.Create(self)
        else
          ClientModule1.DataModuleCreate(nil);
     
  5. Like
    zekelive отреагировална RoschinSpb в Форма не на весь экран   
    Форма должна иметь значение свойства FormStyle равное fsPopup. См. также Всплывающие формы в XE5
  6. Like
    zekelive получил реакцию от eser в [TfgFlipView] Как загрузить изображение через URL?   
    Рабочий код по загрузке изображений извне в FlipVIew: var Stream: TStream; begin Stream := TMemoryStream.Create; URL:='http://www.vk.com/123.jpg'   HTTP1.Get(URL, Stream);   Stream.Position := 0;   FV1.Images.Add;   FV1.Images[FV1.Images.Count-1].Bitmap.LoadFromStream(Stream); end;
  7. Like
    zekelive отреагировална AngryOwl в Загрузка PNG в Image из Deployment   
    В конкретном случае - речь идет о Android.
    Тут, в некотором смысле, проще - воспользуйтесь замечательными компонентами FGX от автора данного форума. У компонента TfgApplicationEvents есть все события, которые Вам необходимы. А именно - событие ДО отображения формы (и куча других).
    Ну если Вам не хватает отладчика - тупо натыкайте в нужных местах "тостов" (Toast), и смотрите - что будет "последним" событием...
    З.Ы. А зависание программы происходит однозначно из-за того, что Вы пытаетесь что-то изменить в интерфейсе, до момента пока форма еще не стала активной. Решить можно не только синхронизацией, но и каким-нибудь Splash.
  8. Like
    zekelive отреагировална Камышев Александр в Загрузка PNG в Image из Deployment   
    Дебаггер не используете что ли? Тупо брикпоинт на OnShow и по шагам идти до ошибки - F7,F8,F9 в помощь
  9. Like
    zekelive отреагировална AngryOwl в Загрузка PNG в Image из Deployment   
    Попробуйте загрузку ваших картинок оформить в:
    TThread.Synchronize(TThread.CurrentThread, procedure begin // тут загрузка ваших картинок end);  
  10. Like
    zekelive отреагировална beklexx в Предзагрузка контента перед показом   
  11. Like
  12. Like
    zekelive отреагировална Равиль Зарипов (ZuBy) в [Android] Как изменить цвет системного статус бара и разместить контролы под ним?   
    Тема оказалась настолько интересна что занялся ей подробней.
     
    Мы с zairkz убили много времени, чтобы понять как выкрасить в один цвет без полупрозрачности, взяв скриншот и фотошоп определили, что затемнение происходит на 40%
     
    Решение родилось само собой, затемнить цвет ToolBar'a на 40% и цвет выровняется.
    Казалось бы можно осветлить цвет для подложки и цвет тоже выровнится, но например белый или светлые цвета нельзя еще осветлить.
     

     
    также написал процедуру для определения высоты статус бара и панели навигации
    procedure androidGetBounds(out statusBar, navigationBar: Integer); {$IFDEF ANDROID} var KeyCharacterMap: JKeyCharacterMap; resourceID: Integer; ScreenService: IFMXScreenService; sScale: Single; {$ENDIF} begin navigationBar := 0; statusBar := 0; {$IFDEF ANDROID} if TOSVersion.Check(5, 0) then // вроде только работает с 5.0 ниже нет устройства проверить begin sScale := 1; if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then sScale := ScreenService.GetScreenScale; //получаем скейл resourceID := TAndroidHelper.Activity.getResources.getIdentifier(StringToJString('status_bar_height'), StringToJString('dimen'), StringToJString('android')); if resourceID > 0 then statusBar := Trunc(TAndroidHelper.Activity.getResources.getDimensionPixelSize(resourceID) / sScale); if not TJKeyCharacterMap.JavaClass.deviceHasKey(TJKeyEvent.JavaClass.KEYCODE_BACK) then // проверка на существование наэкранных кнопок или физических begin resourceID := TAndroidHelper.Activity.getResources.getIdentifier(StringToJString('navigation_bar_height'), StringToJString('dimen'), StringToJString('android')); if resourceID > 0 then navigationBar := Trunc(TAndroidHelper.Activity.getResources.getDimensionPixelSize(resourceID) / sScale); end; end; {$ENDIF} end; и в модуле FMX.Platform.Android нужно изменения внести (если вы используете измененный модуль для Intel'а)
    // Fix by Flying Wang & CallInUIThread( procedure begin if (not PlatformAndroid.GetFullScreen(nil)) and (SharedActivity.getWindow.getAttributes.Flags and TJWindowManager_LayoutParams.JavaClass.FLAG_FULLSCREEN <> TJWindowManager_LayoutParams.JavaClass.FLAG_FULLSCREEN) and (SharedActivity.getWindow.getAttributes.Flags and TJWindowManager_LayoutParams.JavaClass.FLAG_TRANSLUCENT_STATUS <> TJWindowManager_LayoutParams.JavaClass.FLAG_TRANSLUCENT_STATUS) // fix by ZuBy ... SystemBar.zip
  13. Like
    zekelive отреагировална AndroidHalfNoob в Слишком большой размер приложения.   
    Кстати заметил интересный момент. Одно и тоже приложение на телефоне Samsung S4 mini занимает почти 45 Мб а на планшете Samsung Galaxy tab 10 около 18Мб
  14. Like
    zekelive получил реакцию от masmat в Как создать форму в потоке?   
    Сам пытался простой код в потоке выполнять, у меня то программа вываливается. То ошибки не понятные какие-то. Что-то с потоками совсем ерунда какая-то в FMX.
  15. Like
    zekelive отреагировална Brovin Yaroslav в Можно ли прокрутить TScrollBox программно?   
    Без анимации можно любым из этих способов:
    // Установка координат окна просмотра (Левый верхний угол) ScrollBox.ViewportPosition := TPointF.Create(0,0); ScrollBox1.ScrollTo(0, 0); // Аналог ViewportPosition // Сдвиг на вектор ScrollBox.ScrollBy(-10, -10); С анимацией так:
    procedure TForm3.FormCreate(Sender: TObject); begin ScrollBox1.AniCalculations.Animation := True; ScrollBox1.AniCalculations.BoundsAnimation := True; ScrollBox1.AniCalculations.TouchTracking := [ttVertical, ttHorizontal]; end; // Сам сдвиг ScrollBox1.AniCalculations.MouseWheel(5, 10);
  16. Like
    zekelive отреагировална krapotkin в Динамическое создание компонентов в потоке   
    не подвисает
  17. Like
    zekelive отреагировална estra в Инструкция по установке набора компонентов FGX   
    Ну раз партия просит, товарищ, так и быть, запишет.
    видео инструкция
    пароль на скачивание: Project001
  18. Like
    zekelive отреагировална Равиль Зарипов (ZuBy) в Обновление списков (TListBox, TListView), как в популярных приложения   
    Обновление Списков (ListBox, ListView) как в популярных приложения
     

     
     
     
    Скачать с офф. сайта
    UpdateMe.zip
  19. Like
    zekelive отреагировална Nik в Передача изображения в потоке   
    Аналогичная проблема возникла. Наткнулся на эту тему и решил свою проблему )
    Вот таким кодом.
    var MS: TMemoryStream; Bitmap: TBitmap; ... TThread.Synchronize(TThread.CurrentThread, procedure begin Bitmap.LoadFromStream(MS); end);
  20. Like
    zekelive получил реакцию от Vitaldj в [Отклонение] При прокрутке TLabel сбрасывает свои настройки текста   
    Пытаюсь восстанавливать настройки как ты сказал, в обработчике, но изменений все равно нет, код:   item.TextSettings.Font.Family:='RobotoLight';   item.TextSettings.FontColor:=TAlphaColors.Sandybrown; и так тоже пытался:
    item.DefaultTextSettings.Font.Family:='RobotoThin'; item.DefaultTextSettings.FontColor:=TAlphaColors.Sandybrown;  
  21. Like
    zekelive отреагировална VladimirS в Отладка потоков в DataSnape   
    конечно есть.
      TThread.CreateAnonymousThread(     procedure()     begin       clmClient.ServerMethods1Client.RegisterWare(seWareID.Value, clmClient.DSClientCallbackChannelManager1.ManagerId)     end).Start; А при чём тут отладка? ;-)
  22. Like
    zekelive отреагировална Brovin Yaroslav в Как прокрутить TScrollBox в самый низ?   
    В XE7 мне не удалось воспроизвести вашу ситуацию. TScrollBox прокручивается до самого низа при использовании кода:
    ScrollBox1.ScrollBy(0, -ScrollBox1.ContentBounds.Height);
  23. Like
    zekelive отреагировална Brovin Yaroslav в [TScrollBox] Как определить конец зоны ScrollBox?   
    Примерно. ViewPortPosition не может достигнуть высоты контента. ViewPortPosition - это смещение контента. Поэтому максимальное значение будет высота контента - высота окна (ClientHeight), то что видим
    if NewViewportPosition.y = ScrollBox1.ContentBounds.Height - ScrollBox1.ClientHeight then ShowMessage('Bottom');
  24. Like
    zekelive получил реакцию от Brovin Yaroslav в Открытие изображения из Image в Галерее   
    Все получилось, спасибо!) Кое-что изменил, и вышло вот так:
    var intent:Jintent; begin   Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);  Intent.setDataAndType(StrToJuri(url),StringToJString('image/jpeg'));  SharedActivity.startActivity(Intent); end; где URL - адрес моей картинки в интернете.
  25. Like
    zekelive получил реакцию от Alex7wrt в Открытие изображения из Image в Галерее   
    Все получилось, спасибо!) Кое-что изменил, и вышло вот так:
    var intent:Jintent; begin   Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);  Intent.setDataAndType(StrToJuri(url),StringToJString('image/jpeg'));  SharedActivity.startActivity(Intent); end; где URL - адрес моей картинки в интернете.
×
×
  • Создать...