Форум: "Начинающим";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
Внизexe-шник виснет Найти похожие ветки
← →
Grain © (2005-09-26 15:57) [0]Помогите разобраться. Мной была написана программа.ю которыя работает с очень большими базами данных, проводятся большие обработки и в итоге данные выводятся в отчет. проблема в то, что при за обработке данных под Delphi программа работает нормально, а exe-шник виснет. В чем может быть причина
← →
alex_*** (2005-09-26 16:30) [1]трассировать до просветления
← →
y-soft © (2005-09-26 16:31) [2]Программа однопоточная? Может просто слишком долго в реальных условиях выполняются запросы к БД?
← →
Sam Dozer (2005-09-28 23:02) [3]Народ, я с той же проблемой маюсь!
Единственное, что придумал - изменить
свойство формы AlphaBlend в True...
Так вроде, прога перестает виснуть (отображается нормально)
но тут появилась еще и другая проблема - сворачивания:
прога не сворачивается и не двигается...
Может кто-нибудь еще опытом поделиться?...
и alex_***, можешь это подробнее расписать:
"трассировать до просветления" а то не пойму...
← →
Sam Dozer (2005-09-28 23:19) [4]Удалено модератором
Примечание: Обсуждение модераторирования в другом месте.
← →
Sam Dozer (2005-09-28 23:23) [5]Так что, может надо просто
еще какое-то свойство формы
в True поставить?
← →
Sam Dozer (2005-09-28 23:24) [6]Удалено модератором
← →
Eraser © (2005-09-28 23:45) [7]
> Grain © (26.09.05 15:57)
Как понимать фразу
при за обработке данных под Delphi программа работает нормально, а exe-шник виснет
?
Скорее всего поможет внедрение многопоточности в вашу программу.
← →
Джо © (2005-09-28 23:57) [8]
> [4] Sam Dozer (28.09.05 23:19)
> Уважаемый модератор, тот который перенес тему в раздел Начинающим,
> если вопрос настолько глупый (легкий) не могли бы вы на
> него ответить?
> И мы бы спокойно разошлись...
Да, действительно, действия модератора удивительны. Эту ветку, имхо, нужно было зарубать на корню :)
← →
_RusLAN © (2005-09-29 13:25) [9]2 Sam Dozer
А как можно ответить на такой вопрос?
> exe-шник виснет
Вот я тоже написал програму (тоже екзешник) - и у меня она не виснет
Как вы думаете, почему?
← →
msguns © (2005-09-29 13:43) [10]>_RusLAN © (29.09.05 13:25) [9]
>у меня она не виснет
>Как вы думаете, почему?
24г+орехи+сметана+мясо+горный воздух
← →
Deks (2005-09-29 17:13) [11]
> трассировать до просветления
И я с тем же головняком - Программа виснет даже на этапе трассировки. Подскажите, хоть на что обращать внимание
← →
umbra © (2005-09-29 17:22) [12]
> Подскажите, хоть на что обращать внимание
На то место в коде, где она виснет. Смотреть, что там не так
← →
Sam Dozer (2005-09-30 16:20) [13]Да, новый поток - это естественно поможет,
но есть решение лучше:
Application.ProcessMessages()!
Типа по умолчанию Windows ждет пока накопятся задачи в очереди а не выполняет их сразу, Application.ProcessMessages() заставляет выполнить все задачи которые накопились в данный момент.
Это также можно применить в таком примере:procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i:=1 to 100000 do
Application.ProcessMessages();
end;
если не будет ProcessMessages() то пока крутится цикл мы не сможем сдвинуть или свернуть форму, т.е. создается видимость зависшего приложения.
← →
Плохиш © (2005-09-30 16:53) [14]В первом же посте был дан правильный ответ, но начинающие лёгких путей не ищут.
← →
Goral © (2005-10-03 18:14) [15]Выполняй пошагово и поймешь где виснит!!!
А насчет Application.ProcessMessages() это да здорово выручает в цыклах.
← →
evvcom © (2005-10-04 09:29) [16]
> Да, новый поток - это естественно поможет,
> но есть решение лучше:
Не факт. Не все так однозначно. Розовые очки лучше снять сразу.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.038 c