ZueRa 0 Denunciar post Postado Janeiro 23, 2008 Galera, está dando este erro no meu projeto: o que eu posso ter feito de errado? Não entendi esta mensagem "memória insuficiente para esta operação" lol viajei :unsure: Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo R Moura 0 Denunciar post Postado Janeiro 23, 2008 você está carregando o banco em memória varias vezes(provavelmente este erro aparece depois de varias execuções do seu sistema) e não está liberando, ao encerrar o programa. Compartilhar este post Link para o post Compartilhar em outros sites
ZueRa 0 Denunciar post Postado Janeiro 23, 2008 Alguma sugestão para resolver o programa? Porque abrindo o mesmo BD várias vezes? Mas, o user não sai do programa antes de fechar o BD, coloquei uma restrição enquanto a isso. O.O Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo R Moura 0 Denunciar post Postado Janeiro 23, 2008 toda vez q você executa o sistema você sobe o serviço do BD... ao fechar o programa, dá 1 active := false ou connected := false , vai depender o adapter q você ta usando... q deve ser TAble ou Query... entao seta o active := false... Compartilhar este post Link para o post Compartilhar em outros sites
ZueRa 0 Denunciar post Postado Janeiro 23, 2008 É table o que estou usando =) Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo R Moura 0 Denunciar post Postado Janeiro 23, 2008 como está setado o Database Name do table? Compartilhar este post Link para o post Compartilhar em outros sites
ZueRa 0 Denunciar post Postado Janeiro 23, 2008 Para o ALIAS cheque. Aproveitando, eu fiz este código: procedure TFcadchequep.DBEdit1KeyPress(Sender: TObject; var Key: Char); begin If Key= #13 then begin With Qconscheque do begin Dbedit1.Text:= 'Select '+dbedit1.Text+' from cheque = '; Disablecontrols; Close; Open; If Isempty then begin ShowMessage ('Registro não encontrado'); Dbedit1.Text:= ''; end; Dbedit1.Text:=''; enablecontrols; end; end; end; para quando o usuário digitar tal CPF irá abrir o BD que irá conter as informações do cliente. Irá abrir também o campo NOME, ENDEREÇO [...]. Mas, quando digito e aperto enter não acontece nada. O que poderá estar errado? Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo R Moura 0 Denunciar post Postado Janeiro 23, 2008 para você nao ter problema de memória, o mais certo é nao ficar conectado no banco o tempo todo... deixe os tables, querys sempre com active false e mude para true somente quando for usar, entende... mude pra true ao abrir 1 form, no clique do botao, no key press... agora no seu caso você de nao ocorrer nada.... está entrando pelo menos na rotina? independente disso, tem 1 erro ae ... você está passando 1 sql para 1 dbedit, você tem q passar pra 1 query... sibstitua isso Dbedit1.Text:= 'Select '+dbedit1.Text+' from cheque = ' por isso SQL.Text:= 'Select '+dbedit1.Text+' from cheque = '; para você nao ter problema de memória, o mais certo é nao ficar conectado no banco o tempo todo... deixe os tables, querys sempre com active false e mude para true somente quando for usar, entende... mude pra true ao abrir 1 form, no clique do botao, no key press... agora no seu caso você de nao ocorrer nada.... está entrando pelo menos na rotina? independente disso, tem 1 erro ae ... você está passando 1 sql para 1 dbedit, você tem q passar pra 1 query... sibstitua isso Dbedit1.Text:= 'Select '+dbedit1.Text+' from cheque = ' por isso SQL.Text:= 'Select '+dbedit1.Text+' from cheque = '; Compartilhar este post Link para o post Compartilhar em outros sites
ZueRa 0 Denunciar post Postado Janeiro 23, 2008 Não posso substituir assim: SQL.Text:= 'Select '+dbedit1.Text+' from cheque = '; por SQL.Text:= 'Select '+dbedit1.Text+' from ALGUM CAMPO = '; porque aí ele irá procurar exatamente o que eu quero, que no caso é o cpf da pessoa para abrir a table algo assim: SQL.Text:= 'Select '+dbedit1.Text+' from cpf_cgc = '; Compartilhar este post Link para o post Compartilhar em outros sites
Marcelo R Moura 0 Denunciar post Postado Janeiro 23, 2008 o erro é cheque = .... cheque tem q ser igual a alguma coisa Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Janeiro 23, 2008 Você tem dado muito Program Reset ao Debugar ou Rodar a sua aplicação??? Normalmente esse erro pode acontecer por causa disso, acontecia muito comigo... Tente reiniciar o PC quando der esse erro, e evite ao máximo Resetar o programa ou parar a execução do mesmo de forma inadequada, senão ele acaba ficando com rastros na memória.. e ai da esse erro, beleza? Abraço! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
ZueRa 0 Denunciar post Postado Janeiro 24, 2008 Você tem dado muito Program Reset ao Debugar ou Rodar a sua aplicação??? Normalmente esse erro pode acontecer por causa disso, acontecia muito comigo... Tente reiniciar o PC quando der esse erro, e evite ao máximo Resetar o programa ou parar a execução do mesmo de forma inadequada, senão ele acaba ficando com rastros na memória.. e ai da esse erro, beleza? Abraço! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Ah sim, realmente, eu usei muito reset mesmo. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
ZueRa 0 Denunciar post Postado Janeiro 24, 2008 SQL.Text:= 'select * from cheque where cpf_cgc = ' +DBEdit1.Text; coloquei o código assim, mas, quando aperto ENTER é a mesma coisa que nada. Não executa o comando de "pesquisa" que eu desejo =/ Compartilhar este post Link para o post Compartilhar em outros sites