Fórum Erro em procedure! #450601
01/08/2013
0
Saudações galera,
estou tendo problemas com um código, já tentei resolver mas não obtive sucesso.
Está retornando esta mensagem:
Já tentei mudar tudo, de várias formas. Mas, de uma forma ou de outra, sempre acaba nesse mesmo warning.
O que há de errado?
[]''s
estou tendo problemas com um código, já tentei resolver mas não obtive sucesso.
private procedure getImgInfo(Sender: TObject; A, B: String);
procedure TfMain.Button1Click(Sender: TObject);
var
i, Idx, Left, Top, Count : integer;
Graph : TGraphic;
Img : TImage;
EdPath, EdFileName : TEdit;
begin
openImg.Execute;
Left := 5;
Top := 5;
Count := 0;
Idx := 0;
for i:=0 to openImg.Files.Count-1 do
begin
try
begin
Graph := TPngImage.Create;
Graph.LoadFromFile(openImg.Files[i]);
EdPath := TEdit.Create(pImgs);
EdPath.Left := Left + 101;
EdPath.Visible := False;
EdPath.Text := ExtractFilePath(openImg.Files[i]);
EdFileName := TEdit.Create(pImgs);
EdFileName.Left := Left + 101;
EdFileName.Visible := False;
EdFileName.Text := ExtractFileName(openImg.Files[i]);
Img := TImage.Create(pImgs);
Img.Parent := pImgs;
Idx := Idx + 1;
Img.Name := ''Img_''+IntToStr(Idx);
Img.Width := 100;
Img.Height := 100;
Img.Left := Left;
Img.Proportional := True;
Left := Left + 101;
Img.Top := Top;
Img.Picture.Assign(Graph);
Img.BringToFront;
Count := Count + 1;
Img.OnClick := getImgInfo(Img, edPath.Text, edFileName.Text); // Linha com o erro
Edit1.Text := ExtractFilePath(openImg.Files[i]);
Edit2.Text := ExtractFileName(openImg.Files[i]);
if Count = 2 then
begin
Left := 5;
Top := Top + 101;
Count := 0;
end;
end;
except on E : Exception do
ShowMessage(''Houve um erro :'' + E.Message);
end;
end;
end;
Está retornando esta mensagem:
[dcc32 Error] uMain.pas(74): E2010 Incompatible types: ''TNotifyEvent'' and ''procedure, untyped pointer or untyped parameter''
Já tentei mudar tudo, de várias formas. Mas, de uma forma ou de outra, sempre acaba nesse mesmo warning.
O que há de errado?
[]''s
Thiago Oliari
Curtir tópico
+ 0
Responder
Posts
01/08/2013
Francisco Macário
Olá.
A assinatura da procedure deve ser identica a do evento.
Então você terá que ajustar a forma de obter os parametros de getImgInfo.
Espero que ajude.
A assinatura da procedure deve ser identica a do evento.
private procedure getImgInfo(Sender: TObject); Img.OnClick := getImgInfo;
Então você terá que ajustar a forma de obter os parametros de getImgInfo.
Espero que ajude.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)