Dúvida Delphi 2006 e as revistas ClubeDelphi Edição 74-77
16/02/2007
0
Minhas dúvidas:
1) Sempre que edito o código, ao alternar para o layout da página, recebo a mensagem de erro: acesso negado, e a pagina abre em branco. tenho que fechar e abrir novamente. Cmo soluciono isso?
2) Como alterno as páginas entre posicionamento absoluto e relativo? (flow e não sei o que...)
Na revista clubeDelphi 75 tem esse código:
procedure TWebForm1.lstCategoria_SelectedIndexChanged(sender: System.Object; e: System.EventArgs); var DM: TDM; dr: FbDataReader; begin DM := TDM.Create; dr := DM.GetProdutos(lstCategoria.SelectedValue); DataGrid1.DataSource := dr; DataGrid1.DataBind; dr.Close; end;
porque ele não poderia ser assim?
procedure TWebForm1.lstCategoria_SelectedIndexChanged(sender: System.Object; e: System.EventArgs); var DM: TDM; begin DM := TDM.Create; DataGrid1.DataSource := DM.GetProdutos(lstCategoria.SelectedValue); DataGrid1.DataBind; end;
porque não dá free nem no dr e nem no DM?
porque não usar o with TDM.create do... begin... end?
Grato!
Vitor Rubio
Posts
16/02/2007
Otto
e, do jeito que voce citou, não funciona? tanto faz ;)
16/02/2007
Rjun
Veja que no exemplo da revista, ele esta usando um DataReader e ao final do processo ele fecha o mesmo. No seu código você não fecha do datareader. Quando você for usar um outro objeto datareader a sua aplicação vai dar pau por que já existe um datareader aberto.
16/02/2007
Vitor Rubio
E quanto a mudar o layout de flow layout para grid layout??? Como eu posso fazer paginas web parecidas com forms do windows?
E como eu resolvo esse bug do acesso negado?
Grato!
16/02/2007
Vitor Rubio
Podem me dar um help?
17/02/2007
Rjun
21/02/2007
Vitor Rubio
function TDM.GetProdutos(aIdCategoria: string): FbDataReader; var dr: FbDataReader; cmd: FbCommand; begin FbConnection1.Open; cmd := FbCommand.Create( ´select ID_PRODUTO, NOME_PRODUTO, URL from PRODUTOS ´+ ´where ID_CATEGORIA=?´, FbConnection1); cmd.Parameters.Add(´ID_CATEGORIA´, FbDbType.Integer, 0, ´ID_CATEGORIA´).Value := aIdCategoria; dr := cmd.ExecuteReader(CommandBehavior.CloseConnection); Result := dr; end;
não sei onde está o erro.
Gostaria de saber também mais algumas coisas:
1) como instalo um novo controle para asp.net, pois eu não consegui baixar o vídeo no site da clubedelphi,
2)porque tem classes, como o fbDataReader, que não poem gerar descendentes?
3)como eu resolvo esse problema do ´Aceso negado´ na minha IDE?
O que eu quero mesmo é pegar o exemplo da web loja da revista clubedelphi 74-77 e adaptar à minha empresa.
Grato!
21/02/2007
Rjun
21/02/2007
Vitor Rubio
function TDM.GetSubGrupos(codgru: string): FbDatareader; Var dr: FbdataReader; cmd: FbCommand; begin fbCon.Open; cmd := FbCommand.Create(´select * from subgrupos where codgru = ´+ codgru.ToString, fbCon); dr := cmd.ExecuteReader(CommandBehavior.CloseConnection); result := dr; end;
a minha é um pouco diferente da revista, o command é criado na hora.
chamada (em outra classe):
procedure TWfHome.CarregaSubGrupo(codgru: string); var dm: TDM; drSubGru: FbDataReader; begin dm := Tdm.Create; drSubGru := dm.GetSubGrupos(codgru); lstSubGrupos.DataSource := drSubGru; lstSubGrupos.DataTextField := ´SUBGRUPO´; lstSubGrupos.DataValueField := ´CODSUBGRU´; lstSubGrupos.DataBind; drSubGru.Close; end;
criei essa procedure para instanciar o DM e chamar esse metodo que retorna o fbDataReader;
De posse do FbDatareader eu populo as listas.
21/02/2007
Vitor Rubio
o prolema é que estou setando a connection string no dedo, pela propriedade:
fbcon.connectionstring := ´xxxx...´
mesmo assim não está dando certo. Se eu debugo ele mostra aquela janela de cpu window com aqueles códigos de assembly.
não sei mais o que pode estar errado.
21/02/2007
Vitor Rubio
Eu tinha criado um DM (classe pra servir de datamodule) como no exemplo da revista. Mas naquela parte do código que o próprio delphi escreve, por algum motivo, o delphi estava instanciando o fbconnection e setando a connection string no método (procedure) InitializeComponent. O problema é que no constructor create dessa classe ele não chamava a procedure initializecomponent. Então ficavam varios objetos sem instanciar, mas até eu descobrir isso... Não sei porque ele não escreveu essa parte sozinho, ou se era para eu escrever mesmo... Ele escreve tanto código sozinho, código pra instanciar objetos e outros gerenciados por ele....
Agora falta solucionar o problema da IDE e de como alternar o layout de fow pra absolute e vice-versa
09/03/2007
Garoto_burns
Eu estava com o mesmo problema da mensagem dizendo ´Acesso negado´ no meu BDS 2006 e acabei chegando aqui. Eu encontrei a solução do problema no site da Borland.
Este problema está relacionado com o Internet Explorer 7 e a solução deste problema está descrita nesse documento:
http://support.borland.com/entry.jspa?categoryID=384&externalID=5575
Espero ter ajudado
Diego Queiroz
09/03/2007
Vitor Rubio
funcionou que é uma beleza.
Cara, e eu fiz a besteira de xingar o delphi na frente do meu patrão...
já pensou se ele me põe pra trabalhar com VB e a culpa na verdade era do IE ?
tsc tsc... quem mandou atualizar o windows e esse IE 7....
Esse registrinho já deveria vir no cd do delphi, de fábrica.
Valew!
Clique aqui para fazer login e interagir na Comunidade :)