Transferir campos de um executável para outros

Delphi

15/08/2013

Pessoal !!! Após ter criado vários módulos, encontrei uma dificuldade. Todos os módulos são independentes e cada um com seu DM. Tudo em delphi 7 com FB 2.5. Hoje eu executo um módulo principal e dentro deles chamo os outros módulos da seguinte forma:

begin
WinExec('\ISPSSist\ContasPagar.exe',SW_NORMAL);
end;

Esta funcionando legal, porém preciso passar o conteudo de um campo de um módulo para outro por exemplo:

CodigoUsuario : Integer;

No principal o cara digitou seu acesso e ele é o numero 10. Eu preciso chamar o contas a pagar, porém na execução eu tenho que saber quem esta executando para montar suas atribuições

Abraços. Obrigado
Carlos Cabral

Carlos Cabral

Curtidas 0

Respostas

Mcbatalha

Mcbatalha

15/08/2013

Pessoal !!! Após ter criado vários módulos, encontrei uma dificuldade. Todos os módulos são independentes e cada um com seu DM. Tudo em delphi 7 com FB 2.5. Hoje eu executo um módulo principal e dentro deles chamo os outros módulos da seguinte forma:

begin
WinExec('\ISPSSist\ContasPagar.exe',SW_NORMAL);
end;

Esta funcionando legal, porém preciso passar o conteudo de um campo de um módulo para outro por exemplo:

CodigoUsuario : Integer;

No principal o cara digitou seu acesso e ele é o numero 10. Eu preciso chamar o contas a pagar, porém na execução eu tenho que saber quem esta executando para montar suas atribuições

Abraços. Obrigado



para chamar o novo executável
Chamada := executavel.exe "' + '* autorizado*' + '" "' + Frm_Login.Nome_Usuario + '" "' + Frm_Login.Codigo_Usuario + '"';
WinExec(Pchar(Chamada),sw_shownormal);


no executável "chamado" no onCreate ou no OnShow, vai depender do que vc quer criar

procedure TFrm_Principal_Cq.FormShow(Sender: TObject);
var i: Integer;
Parametro1, Parametro2, Parametro3 : string;

for i := 1 to ParamCount do
begin
Case i of
1 : Parametro1 := ParamStr(i);
2 : Parametro2 := ParamStr(i);
3 : Parametro3 := ParamStr(i);
end;
end;

if Parametro1 <> 'autorizado' then
begin
application.messagebox('Acesso ao módulo NOVO EXECUTAVEL. não autorizado !!!','Erro',mb_iconstop);
Application.Terminate;
end;
Nome_Usuario := Parametro2;
Codigo_Usuario := Parametro3;
end;
GOSTEI 0
Mcbatalha

Mcbatalha

15/08/2013

faltou abrir as aspas na atribuição à variável chamada:(uma variável string)

Chamada := 'executavel.exe "' + '* autorizado*' + '" "' + Frm_Login.Nome_Usuario + '" "' + Frm_Login.Codigo_Usuario + '"';

faltou o begin após a declaração das variáveis do FormShow
GOSTEI 0
POSTAR