Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Sistemas operativos > Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-10-2014
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Bueno,
Después de probar todas las soluciones posibles, sigue sin funcionar.

Sólo me queda cambiar la aplicación para que no utilice excel o lo haga de otra manera. He encontrado una librería gratuita que lo hace, pero con delphi no es capaz de abrir un fichero para utilizarlo de plantilla. Sin embargo con lazarus sí ¿?.

A ver qué consigo...

Gracias a todos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #2  
Antiguo 01-10-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por fjcg02 Ver Mensaje
... con delphi no es capaz de abrir un fichero para utilizarlo de plantilla. Sin embargo con lazarus sí ¿?.
¿Estás informando, preguntando o confirmando?
Responder Con Cita
  #3  
Antiguo 01-10-2014
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Según el código sí se puede con lazarus, pero con delphi no. Lo que no he hecho todavía es probarlo...

Hay una función readfile o algo así pero está entre directivas de compilación {if FpC} o algo así.

No tengo el código a mano, mañana os confirmo el nombre de la librería...

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #4  
Antiguo 02-10-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
fjcg02,

Cita:
Empezado por fjcg02
...Sólo me queda cambiar la aplicación para que no utilice Excel o lo haga de otra manera. He encontrado una librería gratuita que lo hace, pero con Delphi no es capaz de abrir un fichero para utilizarlo de plantilla...


Pregunto:

1- ¿Como se llama la Librería Free que mencionas?, ¿Cual es el link de la misma?.

2- ¿Probastes usar Automatización de Excel (Msg #4 Opción 2) en lugar de los componentes ExcelApplication, ExcelWorkbook y ExcelWorksheet ?.

3- ¿Tienes instalado Excel en el Servidor?, ¿Con que versión de Excel interactúa tu aplicación?, ¿En que versión de Windows Server se ejecuta tu aplicación?.

Espero sea útil

Nelson.
Responder Con Cita
  #5  
Antiguo 02-10-2014
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Hola a todos,
intentaré ir por partes.

Mi código se conecta a excel vía servidores. He dejado en el código lo más relevante, tal como está o funciona pero es para que os hagais una idea.

Código Delphi [-]
...
    ExcelApplication1: TExcelApplication;
...

procedure TForm1.LLevaraExcel( Data: TClientDataSet);
var ...;
begin
LCID := GetUserDefaultLCID;
ExcelApplication1.Connect;
ExcelApplication1.Visible[0] := True;
ExcelApplication1.Workbooks.Open(DBEPlantilla.Text, False, False,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,LCID);


ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkBook);

ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
ExcelWorksheet1.ConnectTo(ExcelApplication1.Sheets[1] as _WorkSheet);
  try
    Data.First;
    while not(Data.eof) do
    begin
      bla, bla, bla...
      Data.Next;
    end;
  Except
     ShowMessage('Atención, se produjo un error en la transmisión.');
  end;
ExcelWorkbook1.SaveAs(DBEFicheroGenerado.Text,
                              -4143 {51}, emptyParam , emptyParam, false, false,
                              1, emptyParam, false, emptyParam, emptyParam,
                               emptyParam, 0);
ExcelWorkbook1.Close;
ExcelApplication1.Disconnect;
ExcelWorksheet1.Disconnect;
ExcelWorkbook1.Disconnect;

end;

1- ¿Como se llama la Librería Free que mencionas?, ¿Cual es el link de la misma?.
La liberia que he nombrado es ésta

http://avemey.com/
ZEXMLSS for Lazarus, Delphi and C++Builder - Works with OpenDocument Format (ods)/Excel XML Spreadsheet/Office Open XML (xlsx) file format without installed Excel/OO Calc..
ZEXMLSSLIB 0.0.6 (beta)
Lazarus, Delphi 7, C++Builder 6.
Borland Developer Studio 2005, BDS 2006, CodeGear Delphi 2007,
CodeGear RAD Studio 2009, 2010, Delphi XE è Delphi XE2.

Permite crear ficheros en varios formatos.

La librería no permite abrir ficheros en Delphi, sí en Lazarus:
fichero xexlsx.pas de la libreria
Código Delphi [-]
...
{$IFDEF FPC}
function ReadXSLX(var XMLSS: TZEXMLSS; FileName: string): integer; deprecated {$IFDEF FPC}'Use ReadXLSX!'{$ENDIF};
function ReadXLSX(var XMLSS: TZEXMLSS; FileName: string): integer;
{$ENDIF}
...

2- ¿Probastes usar Automatización de Excel (Msg #4 Opción 2) en lugar de los componentes ExcelApplication, ExcelWorkbook y ExcelWorksheet ?.
No he probado la automatización Excel como indicas en el msg#4. Lo probaré. De hecho , me he dado cuenta ahora de que proponías otra solución.

3- ¿Tienes instalado Excel en el Servidor?, ¿Con que versión de Excel interactúa tu aplicación?, ¿En que versión de Windows Server se ejecuta tu aplicación?.
El programa se ejecuta en un equipo con W2008 server R2 y Excel 2007. Se ejecuta bien con la sesión abierta, se queda congelado con la aplicación lanzada desde una tarea programada. He revisado la configuración DCOM completa, dando permisos a todos los usuarios tal como indican en mensajes anteriores.
El programa también funciona en equipos con WXP, W7 y cualquier versión de Office , 2000, 2007 ó 2010, incluso con varias versiones instaladas.

Gracias a todos por vuestra ayuda.

Seguiremos informando...
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #6  
Antiguo 02-10-2014
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Cita:
Empezado por fjcg02 Ver Mensaje

2- ¿Probastes usar Automatización de Excel (Msg #4 Opción 2) en lugar de los componentes ExcelApplication, ExcelWorkbook y ExcelWorksheet ?.
No he probado la automatización Excel como indicas en el msg#4. Lo probaré. De hecho , me he dado cuenta ahora de que proponías otra solución.
He probado cambiando la parte de invocar excel sin componentes de la paleta servers y tampoco me funciona. Es decir, con sesión abierta OK, desde el planificador de tareas MAL.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #7  
Antiguo 02-10-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
fjcg02,

Cita:
...He probado cambiando la parte de invocar Excel sin componentes de la paleta Servers y tampoco me funciona...con sesión abierta OK...desde el planificador de tareas MAL...


Pregunto:

1- ¿Probastes la opción 1 del Msg #4?, allí se indica como iniciar un proceso como Administrador y como un Usuario Particular.

2- ¿Has probado hacer un programa de pruebas con acceso a una BD y ejecutarlo con la sesión abierta y cerrada?, la idea es simular las condiciones del programa en cuestión pero eliminando la variable de Excel y ver si el comportamiento es similar al descrito.

Espero sea útil

Nelson.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas de Interfaz Grafica al Cambiar nombre de Programa martini002 Varios 2 30-08-2012 16:46:22
Crear una Tarea Programada. DasGrun Windows 1 04-08-2010 11:44:38
Tarea programada en Linux con Firebird 2.5 Axel_Tech Firebird e Interbase 6 16-04-2010 18:52:16
Tarea programada en delphi drykea Varios 6 18-02-2008 16:59:19
hacer una tarea programada Patricio Varios 6 18-09-2007 20:39:21


La franja horaria es GMT +2. Ahora son las 02:51:15.


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
Copyright 1996-2007 Club Delphi