Добрый день! Я написал программу запуска приложения(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 с новыми параметрами(приложение запускается в еще одном экземпляре), так можно открыть бесконечно много. А мне нужно, что бы при повторном запуске форма оставалась открыта, просто менялись параметры. Может кто знает как это сделать?