Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  3 783

•  TDictionary Custom Sort  5 898

•  Fast Watermark Sources  5 692

•  3D Designer  8 466

•  Sik Screen Capture  6 030

•  Patch Maker  6 475

•  Айболит (remote control)  6 468

•  ListBox Drag & Drop  5 331

•  Доска для игры Реверси  94 916

•  Графические эффекты  6 674

•  Рисование по маске  5 786

•  Перетаскивание изображений  4 853

•  Canvas Drawing  5 230

•  Рисование Луны  4 951

•  Поворот изображения  4 496

•  Рисование стержней  3 186

•  Paint on Shape  2 428

•  Генератор кроссвордов  3 304

•  Головоломка Paletto  2 613

•  Теорема Монжа об окружностях  3 398

•  Пазл Numbrix  2 247

•  Заборы и коммивояжеры  2 907

•  Игра HIP  1 876

•  Игра Go (Го)  1 790

•  Симулятор лифта  2 124

•  Программа укладки плитки  1 856

•  Генератор лабиринта  2 294

•  Проверка числового ввода  1 982

•  HEX View  2 289

•  Физический маятник  1 955

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Менять главную форму во время выполнения



Оформил: DeeCo

procedure SetAsMainForm(aForm:TForm);
 var
   P:Pointer;
 begin
   P := @Application.Mainform;
   Pointer(P^) := aForm;
 end;

 {************************************}

 // Example of Usage: 

{ 
Question: 

  If my application is main.exe and the main form is form1, form1 displays 
  when it runs. I would like to display other forms based on the parameter 
  passed. 
  main.exe param1 will display form2 as the first form 
  main.exe param2 with display form3 as the first form 

Answer: 
}

 program Project1;

 uses
   Forms,
   Unit1 in 'Unit1.pas' {Form1},
   Unit2 in 'Unit2.pas' {Form2},
   Unit3 in 'Unit3.pas' {Form3};

 {$R *.res}

 procedure SetAsMainForm(aForm:TForm);
 var
   P:Pointer;
 begin
   P := @Application.Mainform;
   Pointer(P^) := aForm;
 end;

 begin
   Application.Initialize;
   Application.CreateForm(TForm1, Form1);
   Application.CreateForm(TForm2, Form2);
   Application.CreateForm(TForm3, Form3);

   if Paramstr(1) = 'Param1' then
     SetAsMainForm(Form2);

   if Paramstr(1) = 'Param2' then
     SetAsMainForm(Form3);

   Application.Run;
 end.




Похожие по теме исходники

Рисование математических формул

Очередность выполнения процессов




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте