Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Crystal reports en 64 bits (https://www.clubdelphi.com/foros/showthread.php?t=91992)

DavidSG4 21-06-2017 14:22:48

Crystal reports en 64 bits
 
Muy buenas y gracias de antemano.
tengo una aplicación recién migrada de delphi 5 a XE 10 Berlin. tengo un problema con crpe32.

He instalado crystal reports 2008 runtime no encuentro una version posterior.

1 cuando ejecuto la aplicacion en modo 32 bits todo funciona bien hasta que cierro el listado he intento acceder a cualquier otro menú de la aplicación (me salta ese error tan feo que es la ventana de CPU)
2 Cuando ejecuto la aplicacion en modo 64 ni siquiera carga la dll crpe32.dll. en el código de abajo me lanza el error en la linea CREEngine:=loadlibrary(pchar(s1)) he instalado un runtime de sap para visutal studio pero nada

Saludos

Código:

function TCrpeEngine.PELoadCrpeDll(const CrpeLocation: string) : Bool;
var
  s1,s2 : string;
begin
  Result := False;
  s1 := Trim(CrpeLocation);
  CRDEngine :=LoadLibrary(PChar(s1));
  {If an error occured, set the flag}
  if (CRDEngine < HINSTANCE_ERROR) then
  begin
    CRDEngine := 0;
    s2 := SysErrorMessage(GetLastError);
    if Trim(s2) = '' then
      s1 := CRD_ERROR_LOADING + Chr(10) + 'Windows Error Number: ' + IntToStr(GetLastError)
    else
      s1 := CRD_ERROR_LOADING + Chr(10) +
        'Windows Error Number: ' + IntToStr(GetLastError) + ' - ' + Trim(s2);
    CRDEngineError(s1);
  end
  else
    Result := True;
end;


Casimiro Notevi 21-06-2017 14:41:23

¿Has probado a cambiar string por ansistring, pchar por ansipchar, etc.?

DavidSG4 21-06-2017 17:28:45

Pues la verdad es que no se me había ocurrido y puede ser que sea la causa. ¿como debería de hacer esto que propones?

Gracias

Casimiro Notevi 21-06-2017 17:47:52

Cita:

Empezado por DavidSG4 (Mensaje 518519)
Pues la verdad es que no se me había ocurrido y puede ser que sea la causa. ¿como debería de hacer esto que propones?
Gracias

Donde pone string, lo cambias por ansistring, y donde pone pchar lo cambiar por ansipchar.
No tengo un delphi moderno unicode, pero supongo que esas serán sus reemplazos.

DavidSG4 21-06-2017 17:50:53

¿pero esto lo tendría que hacer en toda la aplicación.?
Saludos

Casimiro Notevi 21-06-2017 17:52:57

Cita:

Empezado por DavidSG4 (Mensaje 518525)
¿pero esto lo tendría que hacer en toda la aplicación.?
Saludos

Bueno, es que no sé exactamente cuál es el problema, yo te hablaba de la function que has puesto antes.

jlrbotella 21-06-2017 19:27:34

Creo que no hay una version nativa en Crystal Reports en 64 bits, no se si la versión que usas existe, pero nosotros hemos trabajado con la versión XI y siguientes y no hay.
Los runtime existen en .Net o Java, tanto en 32 como en 64 bits, pero no nativos.
Deberias ir pensando en cambiar a un generador como FastReport o ReportBuilder que trabajan con Delphi y se integran en el IDE, Además de ser muchisimos mejor que Crystal Reports y sin pagar la licencia runtime.

DavidSG4 21-06-2017 19:33:49

estoy totalmente de acuerdo con tigo. Crystal reports ha funcionado muy bien con delphi pero eso se acabo.
he pensado en lo que dices de cambiar a otros generadores pero son 128 reportes algunos de ellos bastante complicados.

el caso es que en 32 bits funciona bien en 64 funciona bien tambien con el cr runtime pero una vez mostrado el reporte y cerrar la ventana del mismo me salta un error de cpu y la verdad es que no se como solucionarlo.

cualquier idea es bienvenida

Gracias


La franja horaria es GMT +2. Ahora son las 08:19:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi