Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FlavioTorres

QuickReport da erro quando o programa é chamado de outra maquina

Recommended Posts

Criei um programa com algumas queries e um relatório.Quando eu rodo o programa a partir do drive c: ou de um drive usb externo e chamo o relatório este funciona corretamente.Mas, quando eu rodo o programa a partir de um pen drive ou de um atalho na rede a impressão gera os erros abaixo:"Access violation at address 00000024. Read of Address 00000024"e também:"Cannot create file t~-".Alguém tem alguma sugestão?TKS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hugo, não achei nada.Criei outros QuickReps de varias maneiras e sempre da o mesmo erro.O Relatório é simples, contém etiquetas mais ou menos de 5cm por 7cm. Percebi que quando eu coloco no Quick Rep apenas uma etiqueta ele não da erro, mas quando coloco mais do que uma ele gera este mesmo erro.Estou rodando o programa do meu pen drive, alguém sabe se existe algum diretorio que o QuickRep precisa para rodar... além do temp do windows?Estou achando estranho o relatório rodar do driver C: ou de um hd externo e não rodar a partir de um atalho na rede ou quando chamado de um pendrive!TKS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcio, esta ok agora. Criei um diretório TEMP na raiz do meu pen drive. No meu computador as variaveis de ambiente temp e tmp estavam apontando para \tmp e \temp E no computador da rede, possivelmente a variavel de ambiente deve estar com path muito grande para a minha versão do quickrep. TKS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcio, você sabe qual versão do QuickRep eu poderia utilizar com o meu C++Builder 3.0?Estou pensando como fazer no caso da aplicação no servidor. Temo um windows 2000 server que cria uma pasta temporaria para cada perfil de usuario...Acho que o jeito será atualizar o QReport.tks

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na versão mais nova do quick tem um servidor de relatório se desejar, no caso o melhor seria ter a nova versão, só que a nova versão é paga... mas não custa caro a licença...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que eu verifiquei a última é a 4.06.Esta versão funciona com o meu C++ Builder 3.0?Pesquisei em um forum sobre o problema do quick report e achei o seguinte:You have 3 choices to work around this problem. 1) upgrade to the latest version of QR. (3.06) 2) Edit the source code and increase the size of the array that stores the path. 3) Set the Temp environment variable to a path that is shorter like C:\Temp. Right-Click on the My Computer icon and choose Properties. Click on the Advanced tab and then click on the Environment Variables button. In the User Variables section, click New and enter TEMP for the Name and C:\Temp for the Value. Achei em um outro forum o seguinte codigo, vou testar para ver se funciona...void __fastcall TMainForm::FormCreate(TObject *Sender) { char WinDir[1024]; DWORD dwVersion, dwWindowsMajorVersion; // QuickReport cant handle long names in path to TEMP dir. This causes // problem when running in Win2K. Work around that by changing TEMP dir. // First get version info. dwVersion = GetVersion(); if( dwVersion < 0x80000000 ) // Check for NT { dwWindowsMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion))); if( dwWindowsMajorVersion > 4 ) // Check for NT 5 or above, ie Win2K { // Move to common TEMP dir instead of user specific. AnsiString TempDir; GetWindowsDirectory( WinDir, 1024 ); strcat( WinDir, "\\Temp" ); TempDir = WinDir; putenv(("TEMP="+TempDir).c_str()); putenv(("TMP="+TempDir).c_str()); } } // Done with Win2K work-around for QuickReport } tks

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.