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

•  DeLiKaTeS Tetris (Тетрис)  4 709

•  TDictionary Custom Sort  6 706

•  Fast Watermark Sources  6 486

•  3D Designer  9 423

•  Sik Screen Capture  6 820

•  Patch Maker  7 259

•  Айболит (remote control)  7 219

•  ListBox Drag & Drop  6 070

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

•  Графические эффекты  7 392

•  Рисование по маске  6 692

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

•  Canvas Drawing  5 931

•  Рисование Луны  5 696

•  Поворот изображения  5 164

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

•  Paint on Shape  2 952

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

•  Головоломка Paletto  3 089

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

•  Пазл Numbrix  2 566

•  Заборы и коммивояжеры  3 350

•  Игра HIP  2 299

•  Игра Go (Го)  2 198

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

•  Программа укладки плитки  2 200

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

•  Проверка числового ввода  2 353

•  HEX View  2 690

•  Физический маятник  2 360

 
скрыть

  Форум  

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

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