Ir para conteúdo
Fórum Script Brasil
  • 0

Bug Com Quickreport 2 - D3


Micheus

Pergunta

Estou recompilando um programa antigo e simples no D3.

Porém quando o programa roda no XP dá erro quando começa a mostrar o relatório.

Já li em algum forum sobre o fato estar associado ao arquivo temporário que o Quickreport e que há um meio de contornar alterando a unit onde o arquivo é criado. Como na época nem pensava em passar por este problema não dei importância.

Alguém se lembraria da solução ou teria visto por ai algo a respeito?

Já procurei nos forums que participo, mas não consegui encontrar a resposta (evidentemente não pesquisei pelo texto correto :( )

[]s

p.s. antes que sugiram, não gostaria de compilar na versão D7

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

opa

Porque você não compila no Delphi 7?

huaahu brincadeira

tipo, já vi sobre isso, o bug está onde você falou, ele

tenta criar um arquivo temporário, mass o tamanho do buffer

que ele armazena pra pegar o diretório temporário da máquina

é muito pequeno, String[30]

Pra win9x pega normal, por normalmente é

C:\Temp

C:\Windows\Temp

Agora winNT+ já complica

C:\Documents and Settings\Usuario\Configurações locais\Temp

ou seja, 30 caracteres como tamanho do buffer já não pega isso ai

pra você resolver, se você tiver os sources deste quickreport, procure

por algo como String[30] e altere para MAX_PATH que é 255, o tamanho máximo permitido para um caminho... String[MAX_PATH];

Se você não tiver os source, então você vai ter que alterar a variável de ambiente "TMP" do Windows pra algo como C:\Temp

Note que vai afetar qualquer programa que grave configurações temporárias...

Pra fazer isso via programação seria usando a API SetEnvironmentVariable que aqui não tinha funcionado então

eu achei uma que funciona

http://www.swissdelphicenter.ch/torry/showcode.php?id=1394

na função acima deixe user como True, ai só afeta as configurações do usuário e não do sistema...

Tudo o que você tem a fazer é tipo

CreateDir('C:\Temp');

SetGlobalEnvironment('TMP', 'C:\Temp');

Ou qualquer caminho que contenha menos ou igual a 30 caracteres

Pra alterar manualmente, vai em propriedades de Meu Computador, Avançado e clique em Variáveis de Ambiente,

altere o do usuário não do sistema, isso no windows xp outros windows como 2000, 2003 não sei se é mesma coisa...

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Se for em relação ao(s) arquivo(s) temporário(s) que o QuickRep cria, já tive esse problema.

Já faz algum tempo e não me lembro, mas me parece que é a extensão .qrp

O que fiz: deletei todos os arquivos existentes em GetTempPath no onCreate e o problema sumiu.

Aproveitando a citação de D3/D7, para quem não souber, já estão liberados os novos Turbos(free):

Turbo Delphi e Turbo Delphi for .NET em http://www.borland.com/downloads/download_turbo.html

Link para o comentário
Compartilhar em outros sites

  • 0

Churc, era mais ou menos isto mesmo que eu havia "lido por ai". Implementei a opção para alteração da variável de ambiente. Dei uma adaptada para obter o valor original ao entrar no programa e restaurar ao sair.

Porque você não compila no Delphi 7?
Eu disse que o programa era antigo e simples, esqueci de dizer que é ridículo :blink:(tem uma tela com um browse e um relatório - só). Então este program tem apenas 800kb e se compilar com o delphi, provavelmente irá duplicar, sem contar que terei que tentar compilar o componente que utilizei na época para acessar o Access (KADAO). Daí as coisas só podem é piorar. Certo?!!

s3c, com relação a este assunto, tenho acompanhado uma discursão em outro forum (não é propaganda :)) sobre o assunto e não sei não. Eu gosto muito do D7 e acho que ainda não trocaria. Mas para se ter uma idéia real, as vezes é necessário que nós mesmos, em nossa realidade, testemos. Comecei o download e as exigências não são poucas. Quem sabe, daqui a pouco não estejamos discutindo isto aqui também?

Se alguém se interessar pelas discursões:

Download do Turbo Delphi, Turbo C++ e Turbo C# (o mais antigo)

Turbo Delphi Ilusão (o mais recente)

No mais, obrigado aos colegas pela força.

[]s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...