| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Изменить последовательность обработки переходов... |
| Автор: Borland_Delphi_6 14.1.2006, 19:57 | ||
| Привет! Небольшой вопросик, не совсем представляю, какой запрос можно скормить поиску, поэтому сразу спрошу: есть такой вот код (это типа реконструкция): ..................
Проблема в том, что весь этот код выполняется в описанном порядке, в результате на третьем шаге ShowMessage() выдает пустую строку. Так вот можно ли сделать так, чтобы компилятор сперва выполнял подпрограммы (т.е. HttpGet.GetString здесь), а потом все, что идет ниже? Чтобы данный код выдал мне "A wonderful message", а не пустую строку. |
| Автор: Susel 14.1.2006, 20:10 |
| Не совсем понятно..... Данный код отрабатывает без проблем и в нужном порядке..... Может быть в функции HttpGet.GetString создается поток и по его завершении Txt получает значение!? Добавлено @ 20:12 Нужно бы код по подробнее привести... |
| Автор: Albinos_x 14.1.2006, 20:22 |
| а что у тебя такое HttpGet....? |
| Автор: Borland_Delphi_6 14.1.2006, 20:55 |
| Слепал пример, того, чего я хочу добится. Код внутри прокомментирован, компонент HTTPGet из DRKB приложен. Переименуйте gif в rar, иначе не дает грузить сюда |
| Автор: Albinos_x 14.1.2006, 22:04 | ||||||
мдя.... а событие
вообще не срабатывает...... срабатывает процедура
но FTResult всегда у меня получается false... поэтому событие не происходит... ищю глюк... Добавлено @ 22:18 упёрся пока в процедуре procedure THTTPGetThread.Execute; на строчке:
BytesReaded у меня = 0 поэтому и FTResult всегда false |
| Автор: Albinos_x 14.1.2006, 22:27 | ||||
| ничего понять не могу.... BytesReaded будет больше нуля только при указании файла... как понимаю:
Добавлено @ 22:34 Borland_Delphi_6 если у тебя всё нормально, то попробуй так:
|
| Автор: Borland_Delphi_6 14.1.2006, 23:29 |
| У меня-то все работает нормально, текст записывает в переменную на ура, но не во время, т.е. происходит то, что описанно выше. "Application.ProcessMessages; " не помогает |
| Автор: Borland_Delphi_6 15.1.2006, 12:33 |
| О! Вроде бы все работает! Задержка вроде тоже есть, но маленькая и не критичная! Спасибо! |
| Автор: Albinos_x 15.1.2006, 17:25 | ||||
был рад помоч не знаю может ты уже это предусмотрел, но вот я тут подумал, что было бы неплохо предусмотреть здесь:
вариант, на случай ошибки, если событие не произошло, допустим спустя несколько секунд, то завершить процедуру... |