Dúvida Delphi 2006 e as revistas ClubeDelphi Edição 74-77
Minha dúvida é sobre criar páginas em asp.net no delphi 2006. Como minhas dúvidas são mais sobre a IDE e a linguagem, achei que não caberia lançar o tópico no fórum de asp.Net.
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:
porque ele não poderia ser assim?
porque não dá free nem no dr e nem no DM?
porque não usar o with TDM.create do... begin... end?
Grato!
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
Curtidas 0
Respostas
Otto
16/02/2007
em .net não precisa lliberar da memoria, o garbage colletion faz isso :D
e, do jeito que voce citou, não funciona? tanto faz ;)
e, do jeito que voce citou, não funciona? tanto faz ;)
GOSTEI 0
Rjun
16/02/2007
Vitor
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.
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.
GOSTEI 0
Vitor Rubio
16/02/2007
eu copiei da revista, apenas fiquei curioso.
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!
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!
GOSTEI 0
Vitor Rubio
16/02/2007
Xiiiii, vou precisar de muuuuuita ajuda. Deu um erro cabeludi e berrugoso
Podem me dar um help?
--------------------------------------------------------------------------------
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 43: end;
Line 44:
Line 45: function TDM.GetGrupos: FbDataReader;
Line 46: Var
Line 47: dr: FbdataReader;
Source File: E:\adv\delphi\Web\WebLojaADV\uDM.pas Line: 45
Podem me dar um help?
GOSTEI 0
Rjun
16/02/2007
Você deve estar acessando algum objeto que não foi instanciado.
GOSTEI 0
Vitor Rubio
16/02/2007
Parece ser isso, mas o objeto que eu estou usando é criado por uma function. E a function retorna o objeto normalmente. O erro, se eu debugar e executar passo a passo, já acontece logo na criação da procedure. Esse é um objeto que não pode ser criado pelo método create, mas sim pelo método execute reader. Veja:
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!
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!
GOSTEI 0
Rjun
16/02/2007
Você poderia colocar o código de onde você chama a função? A principio, o código da função está correto.
GOSTEI 0
Vitor Rubio
16/02/2007
procedure:
a minha é um pouco diferente da revista, o command é criado na hora.
chamada (em outra classe):
criei essa procedure para instanciar o DM e chamar esse metodo que retorna o fbDataReader;
De posse do FbDatareader eu populo as listas.
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.
GOSTEI 0
Rjun
16/02/2007
Em que momento é disparado o erro?
GOSTEI 0
Vitor Rubio
16/02/2007
ao que tudo indica o erro está acontecendo ao se abrir o fbconnection. quando eu dou um fbcon.open;
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.
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.
GOSTEI 0
Vitor Rubio
16/02/2007
A princípio eu consegui resolver.
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
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
GOSTEI 0
Garoto_burns
16/02/2007
Olá a todos do fórum.
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
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
GOSTEI 0
Vitor Rubio
16/02/2007
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
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!
GOSTEI 0