signori 0 Denunciar post Postado Fevereiro 10, 2009 Olá pessoal, Estou tentando converter um código feito em C# para delphi.NET, e me deparei com uma função chamada DirectCast, esta localiza um componente em um ItemTemplate de um dataGrid e diz qual o tipo de objeto que ele é, veja: DirectCast(e.Item.FindControl("dropdowlist"), DropDownList) Gostaria de sabei se existe algo parecido em Delphi!! Ou qual é o verdadeiro objetivo desta função? Help!! Abraço Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Fevereiro 11, 2009 Isso não é C# né? Me parece VB.NET. Em C# você pode fazer cast de duas maneiras: 1) e.Item.FindControl("dropdownlist") as DropDrownList; 2) (DropDrownList)e.Item.FindControl("dropdownlist"); A diferença é que o primeiro exemplo retorna null se o cast for inválido, já o segundo lança a InvalidCastException. Agora em Delphi eu não sei, tenta dessa maneira acima, vai que funciona :D Att, Guilherme Oenning. Compartilhar este post Link para o post Compartilhar em outros sites
signori 0 Denunciar post Postado Fevereiro 11, 2009 Obrigado pela ajuda Guilherme, Sim, realmente esse código é VB.NET. Ainda não consegui resolver meu problema, esse é o código que tenho como exemplo: With DirectCast(e.Item.FindControl("DropDowTal"), DropDownList) .DataTextField = "NOME" .DataValueField = "CODIGO" .DataSource = sqlDataReader .DataBind() End With no Delphi, primeiramente fiz da seguinte maneira: with e.Item.FindControl('DropDowTal') as DropDownList do // ATÉ AKI OK... begin DataTextField := 'NOME'; //ESTAS LINHAS QUE DÃO ERRO DataValueField := 'CODIGO' end; Dá erro de "Referencia de Objeto não definida para uma estância de Objeto" depois tentei desta forma: with DropDownList(e.Item.FindControl('ddlDpto')) do begin DataTextField := 'NOME'; //ESTAS LINHAS QUE DÃO ERRO DataValueField := 'CODIGO' end; Acontece o mesmo erro, o FindControl parece ter funcionado, somente não consigo acessar as propriedades do DropDow. Alguém pode me ajudar? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Fevereiro 11, 2009 "Referencia de Objeto não definida para uma estância de Objeto." Significa que ele não encontrou o objeto com ID = "DropDowTal" e que seja do tipo dropdownlist, existe um dropdownlist com esse ID? Esse ";" depois do "NOME" está correto? Não sei Delphi.NET. Att, Guilherme Oenning. Compartilhar este post Link para o post Compartilhar em outros sites
signori 0 Denunciar post Postado Fevereiro 12, 2009 Sim, existe um componente com este nome, mas náo é nesta linha que acontece o erro, oque não consigo é acessar as propriedades do componente. O ";" está certo sim, este vai a cada final de linha de código. Tanto faz a propriedade que coloco, continua dando este erro. Ainda não consegui resolver.... <_< Compartilhar este post Link para o post Compartilhar em outros sites