Usar um formulário em crystal report no harbour

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

marcoprodata
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 12 Abr 2010 18:56
Localização: Caratinga

Usar um formulário em crystal report no harbour

Mensagem por marcoprodata »

Caros,

Estou convertendo um programa legado que utiliza formulários em crystal report, mas ao tentar imprimir usando ole está retornando sempre erro, como a imagem em anexo.

Segue código do exemplo:

Código: Selecionar todos


IF ( Ocrystal := win_oleCreateObject("Crystalruntime.Application.11") ) = NIL
    Alert("Erro ao utilizar formulario Boleto;do Crystal Report: "+win_oleErrorText(),,'14/8')
    return nil
ENDIF 
   

Oreport := Ocrystal:Openreport("Boleto1.Rpt",1)  
*-*
*-*
Oreport:Printout(.F.)

erro_ole_harbour.jpg
erro_ole_harbour.jpg (14.36 KiB) Exibido 101 vezes
alxsts
Colaborador
Colaborador
Mensagens: 3100
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Usar um formulário em crystal report no harbour

Mensagem por alxsts »

Olá!
Segundo a IA
REGDB_E_CLASSNOTREG é um código de erro do Windows (HRESULT: 0x80040154) que significa "Classe Não Registrada", ocorrendo quando um aplicativo tenta usar um componente COM (Component Object Model) que não está corretamente registrado no sistema ou há um conflito de arquitetura (32-bit vs. 64-bit), sendo comum em aplicações .NET/Visual Studio ou ao interagir com DLLs/OCXs, exigindo verificação de registro de componentes, instalação de DLLs/VC++ Redistributable e ajuste da arquitetura da compilação (x86/x64).

O que significa

COM: Um componente COM (Classe) não foi encontrado no registro do Windows ou não pôde ser carregado.
HRESULT: 0x80040154: O código específico para esse erro, frequentemente associado a problemas de registro de bibliotecas.

Causas comuns

Falta de Registro: A DLL ou o componente ActiveX/OCX que a aplicação precisa não está registrado (usando regsvr32) ou o registro está corrompido.

Conflito de Arquitetura (32/64-bit): Tentar usar um componente de 32 bits em um ambiente de 64 bits (ou vice-versa), ou a plataforma "Any CPU" no Visual Studio não está configurada corretamente para a arquitetura do sistema.

Componentes Ausentes: Falta de DLLs essenciais ou pacotes Microsoft Visual C++ Redistributable.

Como resolver

Verifique o Registro (Regedit): Use ferramentas como Process Monitor (ProcMon) para ver quais chaves do registro estão faltando.

Registre a DLL/OCX: Execute regsvr32 caminho\para\sua.dll no Prompt de Comando como administrador.

Ajuste a Arquitetura no Visual Studio: Mude a configuração de compilação para x86 ou x64, dependendo do componente, em vez de "Any CPU".

Instale o Redistributable: Baixe e instale a versão correta do Microsoft Visual C++ Redistributable.

Use Ferramentas: No Windows, pode-se usar dcomcnfg para ajustar permissões DCOM ou o Prompt de Comando para registrar componentes.
[]´s
Alexandre Santos (AlxSts)
marcoprodata
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 12 Abr 2010 18:56
Localização: Caratinga

Re: Usar um formulário em crystal report no harbour

Mensagem por marcoprodata »

Realmente, o problema é esse, parece que não tem o crystal report 64 bits para usar com OLE, tive que fazer um recurso de criar um executavel em xHarbour apenas para fazer a impressão dos relatórios do crystal report, até conseguir migrar para jasper report.
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 467
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Re: Usar um formulário em crystal report no harbour

Mensagem por lucimauro »

Ola marcos, jasper report mesmo?
porque desse gerar eu nunca ouvi falar
alxsts
Colaborador
Colaborador
Mensagens: 3100
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Usar um formulário em crystal report no harbour

Mensagem por alxsts »

Olá!
marcoprodata escreveu: 22 Dez 2025 19:12 tive que fazer um recurso de criar um executavel em xHarbour apenas para fazer a impressão dos relatórios do crystal report
Achei estranho... se funciona com xHarbour, por que não funciona em Harbour?
[]´s
Alexandre Santos (AlxSts)
marcoprodata
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 12 Abr 2010 18:56
Localização: Caratinga

Re: Usar um formulário em crystal report no harbour

Mensagem por marcoprodata »

alxsts escreveu: 23 Dez 2025 08:52 Olá!
marcoprodata escreveu: 22 Dez 2025 19:12 tive que fazer um recurso de criar um executavel em xHarbour apenas para fazer a impressão dos relatórios do crystal report
Achei estranho... se funciona com xHarbour, por que não funciona em Harbour?
O compilador do xHarbour que tenho é 32bits, é uma versão comercial antiga.
marcoprodata
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 12 Abr 2010 18:56
Localização: Caratinga

Re: Usar um formulário em crystal report no harbour

Mensagem por marcoprodata »

lucimauro escreveu: 23 Dez 2025 08:08 Ola marcos, jasper report mesmo?
porque desse gerar eu nunca ouvi falar
É o gerador de relatório padrão do Java.
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 467
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Re: Usar um formulário em crystal report no harbour

Mensagem por lucimauro »

Ah beleza
Responder