Вопрос № 152335: Доброго времени суток! Что нужно прописать, чтобы во время выполнения длительной операции приложение не "зависало", а выполняло какое-нибудь действие, допустим - показывало что-то в TAnimate или же вовсе организовать индикатор хода событ...
Вопрос № 152450: Здравствуйте! Объясните пожалуйста отличие между этими двумя файлами проекта. Пасиб. <div style="margin:15px; margin-top:10px"><div><b><font
color="gray">Код:</font></b></div><pre style="margin: 0px; padding: 6px; border: 1px inset; width:...
Вопрос № 152.335
Доброго времени суток! Что нужно прописать, чтобы во время выполнения длительной операции приложение не "зависало", а выполняло какое-нибудь действие, допустим - показывало что-то в TAnimate или же вовсе организовать индикатор хода события в TProgressBar ?
Отправлен: 30.11.2008, 10:18
Вопрос задал: SHERRY (статус: Студент)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Layer
Здравствуйте, SHERRY! Если длительная операция выполняется в цикле - стоит внутри цикла изменять позицию TProgressBar и вызывать Application.ProcessMessages для обработки сообщений системы, в том числе прорисовки TProgressBar и/или TAnimate.
Ответ отправил: Layer (статус: 3-й класс)
Ответ отправлен: 30.11.2008, 10:38
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237127 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Отвечает: Drbear
Здравствуйте, SHERRY!
попробуйте так: вариант 1) если выполняется цикл пропишите Application.ProcessMessage; вариант 2) не цикл - создайте dll с формой, показывающей flash, часики или другой движок и двумя процедурами: открытие и закрытие этой формы. Перед длительной операцией вызывайте открывайте форму, а по окончании - закрывайте.
Приложение:
Ответ отправил: Drbear (статус: Студент)
Ответ отправлен: 30.11.2008, 10:39
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237128 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Премного благодарен.
Вопрос № 152.450
Здравствуйте! Объясните пожалуйста отличие между этими двумя файлами проекта. Пасиб.
Код:
program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2};
{$R *.RES}
begin Application.Initialize;
Application.CreateForm(TForm1, Form1); Application.Run; end.
Код:
Program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2};
{$R *.RES}
begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.Run; end.
Отправлен: 30.11.2008, 23:45
Вопрос задал: compile (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Шичко Игорь
Здравствуйте, compile! Во первом проекте у Вас отсутствует процедура создания второй формы (Form2): Application.CreateForm(TForm2, Form2); Такой проект откомпилируется, скорее всего, успешно. Однако при попытке обращения к Form2 (типа form2.ShowModal;) у Вас выдаст ошибку выполнения. Можно, конечно, динамически создавать форму:
Код:
procedure TForm1.Button1Click(Sender: TObject); begin Application.CreateForm(TForm2, Form2); form2.ShowModal; end;
В общем все зависит от стоящих задач.
Ответ отправил: Шичко Игорь (статус: Практикант)
Ответ отправлен: 01.12.2008, 07:34
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 237210 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.