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
Curtir tópico
+ 0
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
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
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
Clique aqui para fazer login e interagir na Comunidade :)