Перейти к содержанию
  • Регистрация

krapotkin

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

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

  • Посещение

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

    88

krapotkin стал победителем дня 2 июля

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

5 Подписчиков

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

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

Контакты

  • ICQ
    125417612

Информация

  • Пол
    Мужчина
  • Город
    Екатеринбург

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

1 871 просмотр профиля
  1. нет никакой подстраховки)). не надо чудесизировать исполнение программы обработчик работает в главном потоке, и наша задача - дать ему с гарантией завершиться! исключительно для этого мы вызываем Synchronize() из другого потока программа придет туда не абы когда а только после выполнения всех текущих работ основного потока. То же самое можно достигнуть в windows сделав postMessage() Ну и создание объекта подчиняется тем же условиям. Если он РЕАЛЬНО не удалился, то самостоятельно убив его через DisposeOf, мы получим с большой вероятностью AV из-за того, что где-то ссылка на него еще есть!
  2. Если правильно все было сделано, то арк работает ровно так же как и ранее. Создал объект - удали ссылки на него и сделай free. Ровно как и всегда
  3. Вот disposeof чот не очень, и sleep лишний а в целом норм Вместо самостоятельного убийства я все таки за системный подход. Сделать так, чтобы сработал механизм arc. Зачистить ссылки на объект
  4. wordpress думаю не совсем та платформа)) тут на сайте полно примеров THttpClient а по поводу сервера вам нужно читать что-то типа PHP REST API tutorial, например https://klisl.com/php-api-rest.html
  5. примеров полно, но нужно бы ТЗ иметь. обращение из программы к серверу - через THttpClient сервер - в зависимости от умений и знаний, на любом языке. традиционно у нас в ходу PHP
  6. просто не нужно так делать мобильное подключение не предполагает непрерывной связи с сервером, поэтому обычный клиент-сервер работает из рук вон плохо мобильные приложения чаще всего используют HTTP для связи с промежуточным сервером, а уж он подключается к базе
  7. arr:=SA(JSON); for i:=0 to arr.length-1 do arr2:=arr.a[i];
  8. функция возвращает указатель на созданный маркер храните его захотите - удалите для создания маркера вы лично передаете координаты для создания так что что их получать?
  9. я это слышал еще в передаче "Время" в 1983 ))
  10. а что? не работает?
  11. не надо вы должны передать в поток ссылки на то, что ДЕЙСТВИТЕЛЬНО нужно. Мемо, лейбл, прогрессбар. А форму - не нужно.
  12. TForm1 это чертежи автомобиля form1 это сделанный по этим чертежам экземпляр не странно, если в чертежах будет упоминаться не колесо автомобиля вообще, а колесо конкретного авто А666ААА77РУ ?
  13. "не надо никаких доп классов" и пошел спагетти-код) если задача не в три строки, то доп. класс - это отличный выбор в сторону ремонтопригодности. тем более под капотом происходит ровно то же самое @gonzales главное в классе потока это procedure Execute; override; вот ее то и нет... и вынос класса потока в отдельный модуль не даст вам ходить в form1, что несомненно, благо. глобальная переменная Client - зло Обращение к переменной Form1 в методе класса Tform1 - не меньшее зло procedure TForm1.ThreadTermProc(Sender:TObject); begin showmessage('ой всё'); end; procedure TForm1.Button1Click(...); var th:TClient; begin th := TClient.Create(true); th.pbar := ProgressBar1; th.OnTerminate:=TreadTermProc; th.Start; end; TClient=class(TThread) public pbar: TProgressBar; procedure Execute; override; end; procedure TClient.Execute; begin for i:=0 to xxxxxx do begin if i mod 1000 = 0 then begin Synchronize(procedure begin pbar.position := i; end); end; end; писал на коленке. не проверял
  14. для того, чтобы попробовать все опции, которые содержат слово Center, у вас ушло бы около 5 минут
×
×
  • Создать...