Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передать работающему приложению параметры [D7, WinXP]


Zalum ©   (2009-04-29 11:58:00) 

Добрый день! Я написал программу запуска приложения(MyProject) и передачи ему параметров из другого приложения(Technologics).
Код следующий:
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
List: TStringList;
begin
  a := -1;
  b := -1;
  if FindCmdLineSwitch( 'reg', ['/','-'], True  ) then
    begin
      StartReg;
      Application.Terminate;
      Exit;
    end;

  List := TStringList.Create;
  try
    for i:=1 to ParamCount do List.Add( ParamStr(i) );

    a :=    StrToIntDef( List.Values['A_ID'],    TechId );
    b :=     StrToIntDef( List.Values['B_ID'],     VerId );

  finally
    List.Free;
  end;

Edit1.Text:= IntToStr(a );
Edit2.Text:= IntToStr(b );
end;

procedure TForm1.StartReg;
 procedure Check( Result: Boolean );
 begin
   if not Result then raise Exception.Create( 'Îøèáêà ðåãèñòðàöèè â ðååñòðå! Íå ìîãó ïðîâåñòè ðåãèñòðàöèþ!' );
 end;
var
Reg: TRegistry;
begin
 Reg := TRegistry.Create;
 try
   Reg.RootKey := HKEY_LOCAL_MACHINE;
   Check( Reg.OpenKey( 'Software\CSDN\TCS\111\1111', True ) );
   Reg.WriteString ( 'DisplayText', 'Ìîé Ïðèìåð ðåäàêòîðà ýñêèçîâ ÷åðåç ÀÏÈ' );
   Reg.WriteString ( 'CreateCmd', 'A_ID=%A_ID% A_ID=%A_ID%  ' );
   ....
   Reg.WriteString ( 'ExeName', Application.ExeName );
 finally
   Reg.Free;
 end;
end;

Но дело в том, что при запуске приложения повторно с другими параметрами открывается еще одна  Form1 с новыми параметрами(приложение запускается в еще одном экземпляре), так можно открыть бесконечно много. А мне нужно, что бы при повторном запуске форма оставалась открыта, просто менялись параметры. Может кто знает как это сделать?


Германн   (2009-04-30 02:08:00) [1]


> Zalum   (29.04.09 16:04) [2]
>
> Может кто может подкинуть исходники(самые простые), чтобы
> разобраться с WM_COPYDATA?
>

Имхо, порочный метод познания сущности!
Примите и прочь!


Eraser   (2009-04-30 01:51:00) [2]

> [2] Zalum   (29.04.09 16:04)

прежде чем браться за программирование - научись пользоваться интернетом, освой какой-нибудь поисковик для начала.

http://www.google.com/search?client=opera&rls=ru&q=delphi+WM_COPYDATA&sourceid=opera&ie=utf-8&oe=utf-8


Сергей М.   (2009-04-29 17:04:00) [3]

Что конкретно не понятно ?


Zalum   (2009-04-29 16:04:00) [4]

Может кто может подкинуть исходники(самые простые), чтобы разобраться с WM_COPYDATA?


Сергей М.   (2009-04-29 12:42:00) [5]

http://pcmag.ru/issues/detail.php?ID=9945


Наверх

Титульная страница Поиск, карта сайта Написать письмо