Tenho a seguinte procedure que está dando problema, gostaria que vocês me ajudassem.
A função StrToNum é uma funcão que criei que pega o parametro Nick e converte cada letra para o codigo ascii correspondente e soma tudo no final, isso tudo para poder nomear cada componente, já que eles serão criados em runtime. Já debuguei milhares de vezes, não da nenhum erro durante a execução, apenas os compoentes não são mostrados na tela após criados. E quando fecho o programa da erro dizendo que o identificador da janela é inválido
Pergunta
Guest Axel Yradier
Tenho a seguinte procedure que está dando problema, gostaria que vocês me ajudassem.
A função StrToNum é uma funcão que criei que pega o parametro Nick e converte cada letra para o codigo ascii correspondente e soma tudo no final, isso tudo para poder nomear cada componente, já que eles serão criados em runtime. Já debuguei milhares de vezes, não da nenhum erro durante a execução, apenas os compoentes não são mostrados na tela após criados. E quando fecho o programa da erro dizendo que o identificador da janela é inválido
procedure TFrm_Pri.CriaPainelJogador(Nick: String; Incluir: Boolean);
var
Pan: TPanel;
Img: TImage;
Lbl: TLabel;
begin
if Incluir then
begin
Pan:=TPanel.Create(ScrollBox);
Pan.Name:='PAN_' + StrToNum(Nick);
Pan.Parent:=ScrollBox;
Pan.Left:=0;
Pan.Top:=(ScrollBox.ComponentCount -1) * 58;
Pan.Height:=58;
Pan.Width:=153;
Img:=TImage.Create(Pan);
Img.Name:='IMG_' + StrToNum(Nick);
Img.Parent:=Pan;
Img.Left:=0;
Img.Top:=0;
Img.Picture.LoadFromFile(Path.Dir_Img + 'Pan_Jog.bmp');
Img.Width:=153;
Img.Height:=58;
Img:=TImage.Create(Pan);
Img.Name:='IMG_JOG_' + StrToNum(Nick);
Img.Parent:=Pan;
Img.Left:=10;
Img.Top:=10;
Img.Width:=40;
Img.Height:=40;
Lbl:=TLabel.Create(Pan);
Lbl.Name:='LBL_' + StrToNum(Nick);
Lbl.Parent:=Pan;
Lbl.Left:=56;
Lbl.Top:=23;
Lbl.Caption:=Nick;
Lbl.Font.Color:=clWhite;
Lbl.Font.Style:=[fsBold];
Lbl.Transparent:=True;
end
else
begin
Pan:=TPanel(ScrollBox.FindComponent('PAN_' + StrToNum(Nick)));
TImage(Pan.FindComponent('IMG_' + StrToNum(Nick))).Free;
TImage(Pan.FindComponent('IMG_JOG_' + StrToNum(Nick))).Free;
TLabel(Pan.FindComponent('LBL_' + StrToNum(Nick))).Free;
Pan.Free;
end;
end;
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.