Вся активность

Этот поток обновляется автоматически   

  1. Сегодня
  2. Поподробнее пожалуйста. Не нашел где это сделать)))
  3. О, спасибо! Значит ListItemImage.OwnsBitmap управляет типом ссылки на Bitmap - False - слабая ссылка, True нормальная ссылка. Вот почему в документации это не указать?
  4. Кажется у контролов есть TouchAnimation, его нужно выключить.
  5. судя по исходникам, при установленном свойстве картинка считается собственностью ListItemImage и при ListItemImage.Destroy уничтожается. То есть для того, чтобы не было проблем с памятью и сегфолтами надо битмап копировать
  6. такая же проблема, но сделано все проще- у ListView выставлено свойство Images, Items создаются программно, у них выставляется ImageIndex. Как бы стандартный путь, но... В винде работает, а на смартфоне нет картинок ((( UPD: Моё решение проблемы неотображаемых картинок в ListBoxItem на смартфоне (Android) 1. Картинки находятся в ImageList1, размер 40х40 2. ListView обычный стандартный без переделок, 3. Delphi 10.2 Tokyo procedure TMyForm.ListView1UpdateObjects(const Sender: TObject; const AItem: TListViewItem); var I:TListItemImage; B:TBitmap; begin I:=AItem.Objects.FindDrawable('I') as TListItemImage; // такое имя у стандартного ListViewItem без всяких кастомизаций if I<>nil then begin B:=ImageList1.Bitmap(tsizef.Create(40,40),I.ImageIndex); // вытаскиваем картинку по индексу, который задан ранее при заполнении ListView I.OwnsBitmap:=true; // указываем ListViewItem, чтобы он уничтожал экземпляр картинки при своем уничтожении I.Bitmap:=TBitmap.Create; //создаем картинку, которая будет автоматом уничтожена I.Bitmap.Assign(B); // и копируем в нее контент end; end; Если не пользовать Assign, а напрямую присваивать I.Bitmap=ImageList1.Bitmap(.... , то при уничтожении ListViewItem возникает invalid Pointer, поскольку в TListItemImage.Destroy картинка уничтожается без всяких проверок - есть ли жизнь на марсе, нет ли жизни на марсе ли она вообще.
  7. Подскажите пожалуйста!!! Как убрать эффект нажатия на кнопку в виде расходящегося серого круга?
  8. Вчера
  9. А зачем менять. Можно же просто засинхронизировать: TThread.ForceQueue(nil, procedure begin MaxSize := CanvasClass.GetAttribute(TCanvasAttribute.MaxBitmapSize); end);
  10. Это основной поток. Голова уже не варит(((
  11. Проверяйте, что работа идет в основном потоке, В неосоновном ловил такие проблемы.
  12. Вопрос полностью аналогичный этому: https://forums.embarcadero.com/thread.jspa?threadID=119443 Используется XE 10.1 Berlin
  13. Здравствуйте! Стоит задача загружать фотографии и отображать их в списке. Казалось бы, как два пальца, но... Код работал долгое время, все грузилось и отображалось. Спустя какое-то время, фото грузиться перестали. Дебаггинг выявил, замкнутый бесконечный цикл в этой процедуре: procedure TBitmap.AssignFromSurface(const Source: TBitmapSurface); var BitmapData: TBitmapData; MaxSize: Integer; ResampledSurface: TBitmapSurface; I: Integer; SourceRect: TRectF; begin MaxSize := CanvasClass.GetAttribute(TCanvasAttribute.MaxBitmapSize); <-- MaxSize = 0 if (Source.Width > MaxSize) or (Source.Height > MaxSize) then begin SourceRect := TRectF.Create(0, 0, Source.Width, Source.Height); SourceRect.Fit(TRectF.Create(0, 0, MaxSize, MaxSize)); ResampledSurface := TBitmapSurface.Create; try ResampledSurface.StretchFrom(Source, Trunc(SourceRect.Width), Trunc(SourceRect.Height), PixelFormat); AssignFromSurface(ResampledSurface); <-- infinity loop here finally ResampledSurface.Free; end; end else begin SetSize(Source.Width, Source.Height); if Map(TMapAccess.Write, BitmapData) then try for I := 0 to TBitmapSurface(Source).Height - 1 do Move(TBitmapSurface(Source).Scanline[I]^, BitmapData.GetScanline(I)^, BitmapData.BytesPerLine); finally Unmap(BitmapData); end; end; end; В самом начале процедуры MaxSize получает значение 0 (ноль!), размеры картинки больше нуля и процедура влетает в бесконечный цикл на строке AssignFromSurface(ResampledSurface); Кто-то сталкивался? Есть мысли как лечить? Всем спасибо!
  14. Hello Brovin! Thanks for your time! I'm testing my app on Android 4.1.2 I know, it's old, but my users use it! Tks.
  15. посмотрите вот это
  16. Когда просматриваешь картинку в стадартном просмоторщике, то изображение легко масштабируеться движением двух пальцев по экрану. В TImage загружена картинка align=client внутри TLayaut, mode=fit. Как реализовать масштабирование картинки пальцами по аналогии со стандарьными просмоторщиками? Спасибо.
  17. да все верно, вот тот же пример с басс библиотекой.
  18. Коллеги, подскажите, получается можно работать с .so библиотеками как с обычными dll в Delphi? То есть я включаю библиотеку в поставку своего Android приложения и работаю с ней как обычной DLL? Вывод такой я сделал по примеру выше.
  19. Последняя неделя
  20. Only a few days left - RAD Studio SPECIAL OFFERS!! Act Today! RAD Studio 10.2 "Tokyo" has been around for over three months, generating thousands of downloads. We already implemented several quality patches to further enhance performance. It has never been a better time to join the RAD Studio revolution and deliver to your customers amazing application experiences. We know that the cost of tools is not a huge factor when deciding to upgrade or approaching a new project. It should not be! However, we want to help you make that decision easier and have put together some really attractive promos for June. There are only a few days left… make your decision early next week and save BIG$$$! You will have some left-over for the beach :) ! #1 Buy One RAD Studio, Delphi, or C++Builder Professional and Get One Mobile Add-On Pack for FREE (Up to 703$ in $avings)! Start building cross-platform apps today that will work on Windows, Android, iOS, or Mac. With Update Subscription included you will be one of the first to access our Free Beta for CData Enterprise Connectors, as well as free source code for a variety of apps, from games to complex solution templates. How to to get? Just buy from the PRO license from Web Store, Embarcadero Sales or Partners and use the Serial Number on the Promo Page to get your FREE items. EASY! Contact Sales>> Buy Online >> Find A Partner>> #2 Buy One RAD Studio, Delphi, or C++Builder Architect and Get One Unlimited Users RAD Server (up to 4995$ in $avings) - Unbelievable right? This is a huge one! With Architect you already get an awesome bundle, including the best development suite and additional database modeling tools. Now you get an unlimited RAD Server to deploy. Compared to similar competitive solutions with pricing anywhere from $50 to $100 per user per month, you will be saving thousands and you will get the speed of development and deployment that are unmatched. We did a simple benchmark to build a Salesforce app and the RAD Studio with RAD Server solution was over 10x time less expensive and it took far less time to build. You get a number of bonus features, such as Beacon Fence, Free Source Code for RAD Server Solutions, and Customizable Bootstrap JS Portal. You can check-out Sarina’s latest RAD Server blog for more details, but ACT FAST. This will NOT be available after June. How do you get it? Just buy the Architect license from Web Store, Embarcadero Sales or Partners and use the Serial Number on the Promo Page to get your FREE items. EASY! Contact Sales>> Buy Online >> Find A Partner>> #3 Buy PRO and get 20 IB Licenses! But Enterprise and get 100 IB Licenses! Interbase 2017 is here and you can get variety of options to save big with this promo offer. We recently did a comparison of alternative solutions and IB 2017 delivered the best value, especially if you require Change Controls. If you want a secure and scalable solution IB 2017 is for you Contact Sales>> Buy Online >> Find A Partner>> To learn more about the all special offers that are ENDING SOON (Including terms & Conditions), go to the special offer page. If you have any specific questions or need further help, send me an email (info@embarcadero.com) or leave a comment to this article. Просмотр полной статьи
  21. "MultiView закрывается если тапнуть на правую панель" оо даа, это же так очевидно для миллионов людей, привыкших пользоваться нормальными драверами, которые свайпятся влево
  22. Господи, какой тап , какая гестура? Вы что нибудь слышали про нэйтив экспириенс? Мультивью в том виде в каком есть не юзабелен, при открытии TouchArea должен стать весь экран, а не только десять пикселей за бортиком. Как это сделать? Может кто знает какой нибудь хак?
  23. Да. А я больше ничего и не прошу, я поясняю чтобы было понятнее.
  24. Вам же дали ссылку на Conditional Defines. Это именно то, что вы спрашивали - что под какой платформой неявно задефайнено.
  25. Попытаюсь пояснить. Я не вижу в настройках IDE (в опциях проекта), какие у меня определены директивы компилятора для каждой системы (для Win/Android, и Debug/Release). Либо это баг ИДЕ в целом, либо баг конкретно моей версии - я хз. При переключении целевой платформы, поля в настройках проекта просто не обновляются. Соотв. я не знаю, какие директивы актуальны для текущей сборки, и какие будут актуальны, если я впишу свой набор директив в эти необновленные поля.Поэтому и спрашиваю, есть ли некие предустановленные компилятором/средой директивы, актуальные в каждой из целевых платформ, для дебага и релиза соответственно. Как вариант - пошариться в файле .dproj но его формат малопонятен. Я имею ввиду, какие параметры относятся к какой платформе и версии.
  26. обычно хватает того, что находится в Build Configuration выбираем Debug или Release и всё. Но можно и плодить свои конфиги
  27. честно не совсем понял о чем речь. директивы стандартные можно найти в справке ембы http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Conditional_compilation_(Delphi) http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Delphi_Compiler_Directives_(List)_Index ну и так далее
  1. Загрузить больше активности