Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.10;
Скачать: CL | DM;

Вниз

Автоматизация загрузки   Найти похожие ветки 

 
Igel ©   (2002-09-27 14:18) [0]

Проблема такая: Необходимо контролировать процесс загрузки приложения. Есть такой пример:

begin
Application.Initialize;
with TForm5.Create(nil) do
try
ProgressBar1.Max := 100;
Show; // show a splash screen contain ProgressBar control
Update; // force display of Form5
Application.CreateForm(TForm1, Form1);
ProgressBar1.StepBy(25);
Application.CreateForm(TForm2, Form2);
ProgressBar1.StepBy(25);
Application.CreateForm(TForm3, Form3);
ProgressBar1.StepBy(25);
Application.CreateForm(TForm4, Form4);

ProgressBar1.StepBy(25);
finally
Free;
end;
Application.Run;
end.


Так вот, это не совсем приемлимо, тем более если у меня 100 форм. Хотелось бы нечто вроде:

begin

Application.Initialize;
with TForm5.Create(nil) do
try
ProgressBar1.Max := length(MyArray);
Show; // show a splash screen contain ProgressBar control
Update; // force display of Form5
for i:=1 to length(myarray) do
begin
Application.CreateForm(MyArray[i].Class, Myarray[i].Name);
ProgressBar1.StepIt;
end;
finally
Free;
end;
Application.Run;
end.

Только вот не могу/не знаю, как такой массив создать... Чевой-то не получается... Подскажите..


 
Igel ©   (2002-09-28 06:36) [1]

Ну что? Никаких идей?
Обидно...


 
Mike_Goblin ©   (2002-09-28 10:36) [2]

Приведенный тобой код соответсвует случаю, когда несколько форм в приложения создаются автоматически. Создавай формы по мере надобности и необходимость организации цикла отпадет


 
TTCustomDelphiMaster ©   (2002-09-28 11:00) [3]


> как такой массив создать


Никак. И лучше не пробовать, потому что:
1. Для реализации подобных вещей необходимо знать саму Delphi не хуже ее разработчиков.
2. Потребуются глубокие изменения исходников которые:
a) не будут поддерживаться в новых версиях;
б) возможно вообще не удастся реализовать.
3. Время затраченное на попытку реализации несоизмеримо больше, чем написание простого кода даже для 1000 форм.

Совет: Сделайте приложение, которое автоматически модернизирует *.dpr для вывода ProgressBar процесса загрузки.


 
Igel ©   (2002-09-28 11:40) [4]

Н-да. Попробовал вручную сделать.
Дельфа не компилирует, какая-то проверка... Жаль..



Страницы: 1 вся ветка

Текущий архив: 2002.10.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
14-32000
совсем Новенький
2002-09-17 10:55
2002.10.10
Акумулятор к UPS


14-31979
CrazyAngel
2002-09-16 13:50
2002.10.10
Конторский траффик


3-31661
Юра
2002-09-19 19:34
2002.10.10
Что за ошибка BDE? Too many record lock in table


1-31881
MAXL
2002-09-27 12:04
2002.10.10
Нехватка памяти после закрытия проги


1-31746
Осирис
2002-10-01 13:51
2002.10.10
Событие при клике на иконке в трее