Ir para conteúdo
Fórum Script Brasil

valtino

Membros
  • Total de itens

    22
  • Registro em

  • Última visita

Posts postados por valtino

  1. Jhonas

    Muito obrigado pelas dicas, revisei todo o codigo e tabelas, tirando aqueles varios edit, post que fazemos quando estamos desenvolvendo eu tudo certo o erro encerrou.

    Vou fazer o mesmo nos outros codigos, uma limpeza.

    Aguardo a sua opinião sobre o Delphi X3

    Obrigado.

    Abraços.

    Passo o Valor sim. O erro continua.

    Somente nesta tabela.

    experimente executar esse codigo sozinho em outra aplicação, e veja o resultado

    se for o mesmo, refaça a sua tabela

    abraço

  2. Passo o Valor sim. O erro continua.

    Somente nesta tabela.

    Outra coisa tive verificando passo a passo para saber aonde exatamente ocorre a exceção e ela ocorre na verdade não é no componente twwDBComBox e sim ao abrir a TADQuery:QItenOrdemServer

    tente assim:

    QItenOrdemServer.Active := false;
    QItenOrdemServer.SQL.Clear;
    QItenOrdemServer.SQL.Add('Select * From ORDSERVMOV ');
    QItenOrdemServer.SQL.Add('Where ID_ORDEMSERVICO = :Cod ');
    QItenOrdemServer.SQL.Add('order by  ID_MVTOORSV desc ');
    QItenOrdemServer.Parameters.ParamByName('Cod').Value:= QOrdemServicoID_ORDEM.AsInteger;
    QItenOrdemServer.Active := true;

    veja se esta passando o valor para o Cod

    abraço

  3. Jhonas

    Esta dando erro para baixar deve ser a minha rede aqui. Outra coisa tive verificando passo a passo para saber aonde exatamente ocorre a exceção e ela ocorre na verdade não é no componente twwDBComBox e sim ao abrir a TADQuery:QItenOrdemServer

    codigo:

    QItenOrdemServer.Close;

    QItenOrdemServer.Parameters.ParamByName('Cod').Value:= QOrdemServicoID_ORDEM.AsInteger;

    QItenOrdemServer.Open;

    não sei ainda o motivo, mas uso esta TADOQuery em outros lugares do sistema e por isto que se torna importante para mim ter a atualização do Delphi 7, para evitar erros futuros em outro parte do sistema.

    Vou analisar o que pode estar acontecendo talvez relacionamento com outro tabelas, mas por gentileza me envie esta atualização para que eu tenha mais segurança no funcionamento do sistema.

    Estou negociando com a Embargadero a Versao do Delphi XE3, se possivel gostaria de sua opinião a respeito.

    Fico no aguardo. Obrigado.

    Valtino.

    valtino_fcriminal@hotmail.com

    valtino.oliveira@hotmail.com

    veja se consegue nesse link

    http://www.sourcecodeprojects.com/1282322/

    OBS: se não conseguir, basta voce trocar o TwwDBLookupCombo pelo TDBLookupComboBox ( nativo do delphi ) que vai funcionar do mesmo jeito

    abraço

  4. coloque o codigo que esta na TwwDBLookupCombo

    Começa aqui quando EU abro a ABA de Cadastro que abre as tabelas (ADO) e a tela de inclusao:

    procedure TFCadLanc_Servico.TSCadShow(Sender: TObject);
    begin
    
      QItenSoma.Close;
      QItenSoma.Parameters.ParamByName('Cod').Value:= QOrdemServicoID_ORDEM.AsInteger;
      QItenSoma.Open;
    
      QItenOrdemServer.Close;
      QItenOrdemServer.Parameters.ParamByName('Cod').Value:= QOrdemServicoID_ORDEM.AsInteger;
      QItenOrdemServer.Open;
    
      TOrdemServico.Close;
      TOrdemServico.Parameters.ParamByName('Cod').Value:= QOrdemServicoID_ORDEM.AsInteger;
      TOrdemServico.Open;
      TOrdemServico.Edit;
    
    end;
    Codigo da ADOTables
    TADOQuery:QOrdemServicoID_ORDEM
    Select * From OrdemServico
    where ID_STBL = :cod
    order by ORSV_EMISSAO desc
    ** Esta Query é aberta quando chama o formulario e fica em uma GRID que contem todas as Ordem de Serviços cadastras, as demais são quando pressiono a aba de cadastro, onde abre a tela de cadastro com as informações nas combos, edit e Dbedit, e quando seleciono a aba que aparece o erro, existem tambem na uma grid com os detalhamento da ordem de serviço, a Quary (QItenOrdemServer) que alimenta a Grid.
    TADOQuery:  QItenSoma
    Select Sum(ORSV_VLRTOTAL) Total
    From ORDSERVMOV
    Where ID_ORDEMSERVICO= :Cod
    TADOQuery:QItenOrdemServer
    Select * From ORDSERVMOV
    Where ID_ORDEMSERVICO= :Cod
    order by  ID_MVTOORSV desc
    TADOQuery:TOrdemServico
    Select * From OrdemServico
    Where ID_ORDEM= :Cod

  5. Estou usando delphi + Sql Server + ADO e esta aparecendo esta mensagem de erro abaixo quando vai de um TwwDBLookupCombo:

    Erro:Access violation at address 4034E073 in module 'dbrtl70.bpl'. Read of address 0000000000.

    já mudei toda esta aplicação de DBE para ADO e agora isto, so acontece nas TwwDBLookupCombo.

    Grato.

    Valtino.

  6. Bom Dia

    Estou com um projeto usando DBE e comecou a aparecer a mensagem de "Temporary table resource limit" a meses, então ressolvi criar algumas View, uso sql server 2000 com Delphi 7 - mas como sabe view não pode ser atualizadas e desta forma ficaria muito dificil continuar com as view e com o DBE, hoje no projeto do cliente estou usando nestas view apenas 5% das tabelas sendo os ultimos registros para o sistema funcionar.

    Diante tomei a decisão de usar ADO depois de alguns pesquisas e tal, estou mudando todo o projeto na mão TQuery para ADOQuery uma por uma, mudando a linha de codigo, pois é diferente como sabem, já estou com 90% ressolvido.

    Agora quando vou mandar executar a aplicação aparece esta mensagem de erro "OLe erro desconhecido", na execução e em portugues.

    Vou fazendo debug para ver em qual parte do sistema ele para e vejo que é um modulo que já foi modificado para ADO só que na compílação não apresenta nenhum erro. Mando fazer a verificação de sintax também não tem erro algum. Porem quando mando executar a aplicação o erro aparece.

    alguém poderia me ajudar pois já estou com o meu prazo vencido e o projeto é muito grande, já imaginou chegar até o final e não rodar e esta mensagem EM PORTUGUES. Uso Windows XP SP3 - Delphi 7 - SQL SERVER 2000

    Fou um falha de projeto usar DBE por isto tomei esta decisao de mudar tudo para ADO, uma vez que o cliente tem um volume muito grande de dados.

    Fico Muito Grato pela Ajuda.

    Valtino.

  7. Bom Dia a Todos

    Estou com este erro, a baixo, todo vez que o cliente incluir um registro e vai abrir outro formulario que faz parte da geração de xml, quando o mesmo pede a geração do XML aparece esta mensagem, então o cliente tem que sair da aplicação e entrar novamente.

    FIco grato se alguém já passou por isto é sabe a solução.

    Utilizado Delphi 7 com Banco de Dados SQL Server 2000

    ERRO Couldn't perform the edit because another user changed the record

    valtino.

    valtino_fcriminal@hotmail.com

  8. Bom Dia a Todos

    Estou utilizando Banco de Dados SQL SERVER 2000 com Delphi 7, usando para fazer a conexão com banco de dados BDE e o uso de TTABLE para fazer uso das tabelas. Acontece que de uns dias pra cá começou a aparecer a seguinte mensagem quando o usuario abre o formulario que alimenta a grid.

    Uso este codigo para na Query:

    Select * From MOVNOTFISCAL

    where MVNF_ORCCONHEC = 'Terceiro' AND LOG_NRCONHECIMENTO = 'REDESP' AND ID_STBL =:Cod

    e o erro:

    Temporary table resource limit.

    Como devo proceder para ressolver este erro, pois uso table em toda a aplicação, não sei se tem outro meio de conexão com o banco de dados ou se é isto o problema, fico grato pela ajuda.

    Valtino.

    Temporary

  9. tente mudar o diretorio pra ver se funciona

    qual SO você usa??

    outra dica boa...voce esta usando algum banco de dados neste projeto??(se sim informe qual)

    podes passar o codigo completo p mim dar uma analisada??

    lembre-se de uma regra basica do delphi:usar muitas strings sem necessidade acaba tornando o projeto com um script ''burro''.e consequentemente ele pode se perder.Tente usar masi variaveis do que string.já me safei de muits problemas asiim ok??grato

    Uso Windows XP, mas já testei em Windows 2003 server, fiz a modificação acima do JJones e nada, isto esta de bronca.

    Quando ao Codigo me envia o seu emails que te passo completo. ok.

    Grato

  10. não me lembro em qual, mas um desses posts vai achar a resposta

    http://scriptbrasil.com.br/forum/index.php...te=enviar+email

    abraço

    Boa Noite

    Quando uso o OpenDialog para inserir os Anexos, o sistema envia sem dar erro algum, mas nestas NFe Processada em Lote não posso informar manual pois ficaria muito lento para o usuario, pois isto que tenho que informar os Anexo via codigo(automatico).

    Teria um meio de fazer a programação do OpenDialog via codigo sem a interação do Usuario, isto é antes de anexar os arquivos no emails, inserir estes arquivos automaticamente no OpenDialog e usar o codigo abaixo para inserir os anexos buscando no vetor que foi incrementado pelo OpenDialog. Desta Forma acredito que ressolveria o problema uma vez que usando como já o OpenDialog já funcionou mas MANUALMENTE. COMO PODERIA SIMULAR OU USAR O OPENDIALOG VIA CODIGO. PARA NÃO APARECER O DIALOGO DO OPENDIALOG COM O USUARIO, SERIA TUDO VIA CODIGO. O EXEMPLO ABAIXO USA O OPENDIALOG E FUNCIONA MAS TEM A INTERAÇÃO COM O USUARIO E ISTO QUE TEMOS QUE INIBIR.

    Grato mais uma vez.Aguardo Resposta.

    procedure TForm1.btnAnexoClick(Sender: TObject);

    var i: integer;

    begin

    if OpenDialog1.Execute then

    begin

    for i:= 0 to OpenDialog1.Files.Count -1 do

    if (ListBoxAnexos.Items.IndexOf(OpenDialog1.Files) = -1) then

    ListBoxAnexos.Items.Add(OpenDialog1.Files)

    end;

    end;

    Leia mais em: Envio de E-mail usando o componente indy usando SMTP Gmail http://www.devmedia.com.br/envio-de-e-mail...7#ixzz22oxtrDJp

    //Manipulando os Anexos

    for Anexo := 0 to lbxAnexos.Items.Count-1 do

    TIdAttachment.Create(idmessage.MessageParts, TFileName(lbxAnexos.Items.Strings[Anexo]));

  11. o erro refere-se a que o arquivo especificado não foi encontrado no caminho ( path )

    então certifique-se que o arquivo foi realmente criado e está na path

    abraço

    O arquivo esta na pasta e foi diminui o tamanho do nome do arquivo mas o erro continua.

    Depurei o codigo e percebi que o erro ocorre na hora que vai enviar:

    if IdSMTP1.Connected then

    IdSMTP1.Send(IdMessage1);

    Nesta linha e não no momento de inserção do arquivo .PDF

    // adiciona anexos do email a ser enviado

    IdMessage1.MessageParts.Clear;

    TIdAttachment.Create(IdMessage1.MessageParts, TFileName(cArquivo_XML));

    TIdAttachment.Create(IdMessage1.MessageParts, TFileName(cArquivo_PDF));

    Fico no Aguardo da Ajuda.

    Grato

  12. ERRO: Cannot open file "C:\sisglog\Notas Fiscais\PDF\12\Julho\NFe51120707421604000150550010000136761001134621.pdf". O sistema não pode encontrar o arquivo especificado

    experimente reduzir o tamanho do nome do arquivo para ver se funciona

    abraço

    Vou fazer isto mas o arquivo .XML pega normalmente e o tamanho do nome do arquivo é o mesmo, mudando apenas a extensao para .XML.

    Não sei se ajuda na sua analise, mas o .PDF é criado em modo de execução, pelo QRExport, mas precisamente em um botão dentro do mesmo formulario de envio do emails.

    Grato.

  13. Boa Noite Pessoal

    Olha o codigo abaixo, quando vou anexar alem do .XML da NFe Processado, acrescenta também o anexo com o Arquivo .PDF da Nfe da erro, dissendo o arquivo .PDF não foi encontrado. Mas quando vou verificar no caminho o arquivo .PDF esta lá.

    Com .XML sozinho envia normalmente, quando acrescendo o .PDF da este erro. Segue o Codigo para analise. Grato.

    ERRO: Cannot open file "C:\sisglog\Notas Fiscais\PDF\12\Julho\NFe51120707421604000150550010000136761001134621.pdf". O sistema não pode encontrar o arquivo especificado.

    cArquivo_XML:= cLocalSave;

    cArquivo := QNotaFiscalCHAVE_ACESSO.asString;

    cArquivo_XML := cArquivo_XML + 'NFe' + cArquivo + '.XML';

    cArquivo_PDF := cArquivo_PDF + '\' + 'NFe' + cArquivo + '.PDF';

    // adiciona anexos do email a ser enviado

    IdMessage1.MessageParts.Clear;

    TIdAttachment.Create(IdMessage1.MessageParts, TFileName(cArquivo_XML));

    TIdAttachment.Create(IdMessage1.MessageParts, TFileName(cArquivo_PDF));

    MAS O ARQUIVO ESTA LÁ COM O NOME CORRETO E PASTA. O QUE DEVO FAZER PARA RESSOLVER ISTO.

    GRATO

    VALTINO.

  14. Boa Tarde Pessoal

    Amigos a dias estou com o seguinte erro:

    Erro Exception EReadError in module rtl70.bpl at 00034B6B

    Error reading QRImprimir.PrinterSettings.ExtendedDuplex:Property ExtendedDuplex does not exist.

    SOMENTE NA MAQUINA DO CLIENTE.

    Este erro começou depois que usei o componente ExportReport para gerar .PDF pelo QuickReport. No Pc de desenvolvimento roda tudo bem, mas quando vou rodar no cliente aparece a mensagem de erro quando mando executar a aplicação, isto é não segue a abrir a aplicação.

    Este componente foi instalado pelo ExPackD7.dpk fiz as modificação no delphi informando o local onde se encontra as .dcu no enviroment---> options--> Library.

    não mais o que fazer para ressolver isto. Fico muito grato pela ajuda, pois estou parrado.

    Valtino de Oliveira

    valtino_fcriminal@hotmail.com

  15. ERRO "out of memory" costuma dar quando:

    1 - o programa cria automaticamente muitos forms e não tem memoria disponivel suficiente para mante-los

    2 - ou quando voce cria os forms em tempo de execução mas não limpa a memoria quando finaliza o form

    Exemplo de criação / destruição correta de formulários e liberar memória

    procedure TFrmMain.Cadastro1Click(Sender: TObject); 
    begin 
      Application.CreateForm(TFrmCadastro, FrmCadastro); // cria o form
      FrmCadastro.ShowModal; 
      FreeAndNil(FrmCadastro); // libera o form da memoria 
    end;

    Um teste bem simples de verificar isso é criando um form atraves de um botão e fechando o mesmo sem liberar a memoria ..... o resultado voce pode perceber ao usar o gerenciador de processos do windows, a quantidade de memoria usada só vai aumentando até que ocorre o erro

    3 - ou quando a memoria virutal do arquivo de paginação do windows esta com um valor baixo

    Soluções possiveis:

    1 - Se o seu programa é muito grande voce pode fragmentá-lo em partes menores usando um sistema de modularização

    http://www.techtips.com.br/programacao/mod...single-package/

    2 - alterar o arquivo de paginação do windows desde que voce possua no micro memoria suficiente para isso

    http://www.winajuda.com/2006/05/04/arquivo...emoria-virtual/

    abraço

    Usa desta forma para chamar os formalarios:

    Application.CreateForm(TFCadColeta, FCadColeta);

    QControle.Close;

    QControle.ParamByName('CodUsu').AsInteger:= StrToInt(FPrincipal.Label1.Caption);

    QControle.ParamByName('MENU').AsInteger := FPrincipal.GerarColeta1.Tag;

    QControle.Open;

    if QControleUSU_FLAG3.AsString = 'ON' then FCadColeta.BtExcluir.Visible:= true else FCadColeta.BtExcluir.Visible:= False;

    if QControleUSU_FLAG2.AsString = 'ON' then vALT:= true else vALT:= False;

    if QControleUSU_FLAG1.AsString = 'ON' then FCadColeta.BtInserir.Visible:= true else FCadColeta.BtInserir.Visible:= False;

    FCadColeta.ShowModal;

    FCadColeta.free;

    E O Sistema é um pouco grande.

    - Já aumentei também a quantidade de memoria de 744 para 1400 e nada ainda, como vejo em detalhes como modularizar um aplicação usando o Delphi 7.

×
×
  • Criar Novo...