Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
14-31945
Николай Быков
2002-09-14 15:08
2002.10.10
Винчестер


14-31954
DefE
2002-09-13 14:35
2002.10.10
Condoms....


14-32001
France
2002-09-17 11:56
2002.10.10
Файлы BPL


14-31993
СЕВАСТОПОЛЕЦ
2002-09-13 23:59
2002.10.10
СЕВАСТОПОЛЬ ОТЗОВИСЬ!!!


14-32016
Oleg_Gashev
2002-09-14 03:29
2002.10.10
Ну очень просто :)




   Наверх