Вниз
Скачать: 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.011 c
1-31898
snv-soft
2002-09-30 12:59
2002.10.10
Записать файл в формате UTF-8


1-31777
VladP
2002-09-30 10:24
2002.10.10
TCollectionDescendant.Add


1-31731
Konsul
2002-09-29 12:26
2002.10.10
Закрытие формы


1-31770
Link
2002-10-01 18:41
2002.10.10
Нормальный вид числа


1-31841
Mazenrat
2002-09-28 15:39
2002.10.10
Страсти по SetMenuItemBitmaps.




   Наверх