GARANTIR DESCONTO

Fórum Dúvida em passagem de parâmetro ParamStr #458667

17/10/2013

0


Amigos, estou com uma dúvida, tenho o seguinte código, na aplicação principal:

procedure TForm1.Button1Click(Sender: TObject);
var
Caminho : String;
Parametro, nErro :Integer;
begin
Caminho := 'C:\Teste.exe';
Parametro := 10;
nErro := ShellExecute(handle, 'open', Pchar(Caminho), pchar(Parametro) , '', SW_SHOWNORMAL);

if nErro <= 31 then
ShowMessage('Erro ao executar o programa.');

end;

Na aplicação que recebe o parâmetro:

procedure TfrmPrincipal.FormCreate(Sender: TObject);
begin

if ParamStr(1) <> '' then
begin
Label2.Caption := 'Número : ' + ParamStr(1);
end;

end;

esta me gerando um erro ‘access violation at 0x75fd6961: read of address’
alguém sabe o que poderia esta errado?
agradeço
Itamar Souza

Itamar Souza

Responder

Posts

17/10/2013

Marcos Oliveira

Itamar, fiz um teste aqui, e o meu teste deu erro na aplicação principal, durante o ShellExecute.
O que deu erro foi o parâmetro que está declarado com inteiro. Passei ele para String e funcionou normalmente.
Inclusive a aplicação que recebeu o parâmetro abriu e mostrou o parâmetro que passei.

O erro que você reportou está acontecendo na aplicação principal ou na que recebe o parâmetro?

Att,

Marcos
Responder

Gostei + 0

17/10/2013

Itamar Souza

Itamar, fiz um teste aqui, e o meu teste deu erro na aplicação principal, durante o ShellExecute.
O que deu erro foi o parâmetro que está declarado com inteiro. Passei ele para String e funcionou normalmente.
Inclusive a aplicação que recebeu o parâmetro abriu e mostrou o parâmetro que passei.

O erro que você reportou está acontecendo na aplicação principal ou na que recebe o parâmetro?

Att,

Marcos

Obrigado Marços,
O erro era este mesmo, na aplicação principal, mudei o tipo é deu certo.

grato.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar