O
Olga51
Подскажите пожалуйста (если можно с кодом)!
Есть управляющая программа на Delphi главный DataModule в нем ADOConnection.
В ней пользователь задает User_Name и Password
Короче, далее код нашей управляющей проги:
--------------------------------------
Из управляющей программы делаем вызов других .EXE по winExec см.далее:
****************************************
Вопрос в том как нам в вызываемую задачу передать User_Name и Password
из управляющей с использованием параметров???
Есть управляющая программа на Delphi главный DataModule в нем ADOConnection.
В ней пользователь задает User_Name и Password
Короче, далее код нашей управляющей проги:
Код:
procedure TDataModule2.DataModuleCreate(Sender: TObject);
var ConStr, UserNameStr, PasswordStr: string; AllRight: boolean;
begin
LoginForm:=TLoginForm.Create(Application);
try
Main_Prod_Sector_Ini:=TIniFile.Create(ApplicationPathName+'Main_Prod_Sector.Ini');
ReadOnlyMode:=ReadRegBool('ReadOnlyMode',true);
LoginForm.Edit1.Text:=Reg.ReadString('User_Name');
LoginForm.CheckBox1.Checked:=ReadOnlyMode;
repeat
AllRight:=true;
try
if LoginForm.ShowModal=mrOK
then begin
ConStr:=Main_Prod_Sector_Ini.ReadString('Settings','Connection String','');
UserNameStr:=LoginForm.Edit1.Text;
PasswordStr:=LoginForm.Edit2.Text;
ReadOnlyMode:=LoginForm.CheckBox1.Checked;
Reg.WriteBool('ReadOnlyMode',ReadOnlyMode);
Reg.WriteString('User_Name',UserNameStr);
ConStr:=StringReplace(ConStr,'User ID=User ID','User ID='+UserNameStr,[rfIgnoreCase]);
ConStr:=StringReplace(ConStr,'Password=Password','Password='+PasswordStr,[rfIgnoreCase]);
ADOConnection1.ConnectionString :=ConStr;
ADOConnection1.Open;
end;
except on EoleException do begin
ShowMessage('При подключении к Базе данных возникла ошибка. Возможно, неверное имя или пароль.');
AllRight:=false;
end;
else begin
ShowMessage('Общая ошибка подключения к Базе данных.');
AllRight:=false;
end;
end;
until AllRight;
if ADOConnection1.Connected
then begin
if ReadOnlyMode
then begin
Form1.N17.Enabled:=false;
Form1.N16.Enabled:=false;
end;
ADOQ_PRODUCT.Open;
ADOQ_Aux_Service.Open;
ADOQ_Moulding.Open;
end
else begin
ShowMessage('Подключение не состоялось. Выход из программы.');
Application.Terminate;
end;
finally
LoginForm.Free;
Main_Prod_Sector_Ini.Free;
end;
end;
------------------------------------------
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.WindowState:=wsMaximized;
ApplicationPathName:=ExtractFilePath(Application.EXEName);
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKey('\SOFTWARE\Main_Prod_Sector\',true);
end;
--------------------------------------
Из управляющей программы делаем вызов других .EXE по winExec см.далее:
Код:
procedure TForm1.N12Click(Sender: TObject);
var s:string;
begin
s:='C:\Delphi projects\Cost_Zakaz_2311\Cost_Zakaz_2311.EXE';
winExec(PChar(s),SW_ShowNormal);
end;
****************************************
Вопрос в том как нам в вызываемую задачу передать User_Name и Password
из управляющей с использованием параметров???