krapotkin

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

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

  • Посещение

  • Days Won

    53

Все публикации пользователя krapotkin

  1. это как бы стоять и ждать пока можно с тем же успехом repeat ... until Done; поток блокируется.
  2. только кодом, изменяя размер итемов и удаляя их с экрана но такие штуки довольно плохи для нормальной навигации, поэтому обычно просто "проваливаются" в следующий экран из списка. Это логично и понятно
  3. асинхронный режим на самом деле - это запуск чего-то в потоке и придумывание архитектуры, как будете результаты забирать либо в обработчике окончания потока, либо через синхронизацию не заканчивая поток
  4. очевидно потому что передается не битмап а сыслка на него, а по ссылке лежит то что последнее загружено. возвращаясь к задаче, сделайте цикл на 3-4 загрузки в битмап и 3-4 TImage бросьте на форму соответственно бимапы загружайте в Timage так и узнаете, загрузка идет или нет p.s. может не поздно еще С++ на delphi заменить?
  5. а почему не воспользоваться предыдущим советом? состояние картинки хранить у себя в структуре
  6. Делаю приложение Android / IOS. Коллеги делают серверную сторону на PHP, предоставляющую API. Все взаимодействует нормально, проверено. Теперь мне нужно подключиться к этому серверу через HTTPS. Текст сертификата публичного ключа мне выдали. На сервере сертификат самоподписанный, не покупной. Как добавить этот сертификат/текст при запросе в событии HTTPClient.OnNeedClientCertificate? Как проверить сертификат сервера в событии HTTPClient.OnValidateServerCertificate? Доки пустые. Developer skill sprint просмотрел, там только в комментах обещали разобраться с этим вопросом, но до сих пор молчок.
  7. Все что есть на экране - это отображение чего-то в памяти. например (я в С не очень, но по смыслу поймете) var ListAll, ListSelected: TObjectList<TFoodMenuItem>; ListAll := TObjectList<TFoodMenuItem>.Create(True); // все меню ListSelected := TObjectList<TFoodMenuItem>.Create(False); // отобранные в заказ пункты //в OnClick нам дается Item. по индексу этого item мы берем объект из ListAll и заносим в ListSelected; listSelected.add( ListAll[index] ); этот пример корявый и не учитывает количества и т.д. но общий смысл именно такой. По индексу в листе работаем с объектом в памяти P.S. если честно, то имеющийся чек какой-то совсем никакой. я бы его поменял на простой собственный image
  8. Правильный ответ - все наоборот. Вы должны отрисовывать ListView по своим имеющимся данным. Там и нужно брать информацию. Экранные компоненты ни при чем Если речь о том, как собрать "отчеканные" строки, то вариант тот же. При изменении состояния стоит записывать эти изменения к себе в нужное место. А после этого возвращаемся к п.1
  9. все там нормально создается и удаляется. эта тема обсосана давно почему вам надо именно вызвать деструктор компонента? если вы все ссылки освободили правильно, то он и сам умрет. DelObjects.7z
  10. убийство прямоугольника не приводит к освобождению ссылок на него, соответственно, имеете AV сделайте ему хотя-бы parent:=nil и поищите темы как удалить динамические компоненты
  11. Когда у бабушки будут для этого необходимые предпосылки, ее будут называть дедушкой. Речь идет о совершенно конкретной задаче. Если вы назначите обработчик OnClick edit'у, то это будет уже другая задача, и решать ее нужно с учетом всех имеющихся обстоятельств. Если вы замахнулись на "абстрактность", то вам должно быть недостаточно использовать свойство Tag, которое, очевидно, является костылем, заменяющим в мелких проектиках с прямолинейной логикой использование нормальной модели данных...
  12. как вместо Sender придет не TButton, если мы сами создавали массив и присваивали этот обработчик каждой кнопке??? у него написано совершенно верно, только скобок в := MyOnClick() не должно быть и какая бы кнопка не пришла, именно указатель на нее хранится в Sender это магия такая
  13. нет никаких коней. Sender - это объект, для которого был вызван этот обработчик. и в первом же посте от sinuke совершенно верно написано использование приведения типа через absolute то что ссылки на кнопки хранятся в массиве не меняет совсем ничего
  14. издеваетесь???? Sender это и есть искомая кнопка
  15. в любом случае поверх нативного браузера вам ничего не перетащить
  16. на андроиде вообще проблемы с перетаскиванием
  17. тут для новичка стоит сказать, что 1) этот массив нужно бы делать полем формы 2) приведенный кусок тоже должен находиться в методе этой формы 3) тогда указание Form1. не нужно 4) присваивание метода OnClick без скобок! MyButton[I].OnClick := MyOnClick; где MyOnClick это procedure TForm1.MyOnClick(Sender:TObject); 5) не обязательно, но ОБЫЧНО владельцем созданного объекта назначают не его родителя а саму форму или фрейм MyButton := TButton.Create(Self)
  18. From2.parent := self вообще такая штука очень так себе...
  19. я бы переформулировал 1. Загрузка данных извне в модель данных (МД) 2. Очистка ListView 3. Загрузка ListView из МД все равно вы откажетесь от ListBox, просто поверьте )
  20. Примерно так. Кирпичи - это TRectangle TText и TImage . У них нет никакого стиля. А TLabel и т.п. это уже довольно сложные штуки
  21. но это если производительность вообще непринципиальна ))
  22. Ну почти никто не пользуется этим гридом. Хотя у меня есть проект на windows. данные берет из http-запроса. все в принципе работает, но не айс, конечно, не VCL. Зато красиво если на андроиде, то тем более там и смысла нет использовать грид. Здесь есть ListView - наше всё. А еще ModernLV от ZuBy, который еще более наше всё