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 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:
...¿es lo mismo ejecutarlo como administrador tal y como propones con el código que aportas de RunAs y ejecutar la tarea programada con un usuario con privilegios de administrador del equipo?...


Te comento:

1- En algunas ocasiones realizando trabajos técnicos en Windows, aun teniendo un usuario con privilegios de administrador, he tenido que usar el usuario administrator de Windows que se creo durante la instalación del SO.

2- Te sugiero hacer las pruebas comentadas y ver cual es el comportamiento de la aplicación en cuestión.

3- Te sugiero hacer una prueba con un programa muy básico sin GUI que haga uso de Automatización en Excel y ver cual es el comportamiento de la aplicación en cuestión.

Espero sea útil

Nelson.
Responder Con Cita
  #2  
Antiguo 03-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
Buenas de nuevo.

He realizado varias pruebas. Estos programas los he lanzado desde el task scheduler, es decir desde tareas programadas configurando la sesión con un usuario administrador del equipo donde se ejecuta.
Los resultados han sido los siguientes, a saber:

1.- Programa simple con GUI con un timer que se cierra a los 20 segundos-> Resultado OK.

2.- Programa simple con GUI con una consulta a la bbdd que se cierra tras realizar la consulta-> Resultado OK

3.- Programa de producción con toda la artillería con llamada a excel usando TExcelApplication de la paleta servers de delphi-> Nunca acaba.

4.- Programa de producción con toda la artillería con llamada a excel sin usar TExcelApplication de la paleta servers de delphi y utilizando automatismos como Nelson plantea -> Nunca acaba.

Me falta hacer la última prueba, que es modificar la aplicación para que no tenga GUI, pero no tengo suficiente tiempo para hacerlo. Intentaré hacerlo ( qué remedio ) pero no sé cuando, ya que me supone tirar el actual programa a la basura y hacer uno nuevo.


Si tengo algún avance, os informo.

Gracias a todos por aguantar la paliza...
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #3  
Antiguo 03-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
...Programa de producción con toda la artillería con llamada a Excel sin usar TExcelApplication de la paleta Servers de Delphi y utilizando Automatismos como Nelson plantea -> Nunca acaba...
Cita:
Empezado por fjcg02
...la última prueba...modificar la aplicación para que no tenga GUI...me supone tirar el actual programa a la basura y hacer uno nuevo...


Te sugiero que antes de modificar todo el programa para ver si funciona sin GUI, hagas un ejemplo básico sin GUI que use Excel por medio de los componentes ExcelApplication, ExcelWorkbook, ExcelWorksheet y con Automatización en Excel y ver cual es el comportamiento de la aplicación, para ello sería conveniente incluir un log dentro del programa de pruebas para verificar en que punto falla la aplicación con ambos métodos.

Voy a hacer unas pruebas en un Servidor con Windows 2003 Standard y en lo que tenga los resultados te comento.

Nota: Si te es posible publica un ejemplo del uso de los componentes ExcelApplication, ExcelWorkbook y ExcelWorksheet.

Saludos,

Nelson.
Responder Con Cita
  #4  
Antiguo 06-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
Retroalimentando el problema.

He hecho una prueba simple.
1.- Programa simple que invoca a excel y crea un archivo CON SERVERS, finalmente se cierra de forma automática.

Código Delphi [-]
...
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    EApp: TExcelApplication;
    EWs: TExcelWorksheet;
    EWb: TExcelWorkbook;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
...

procedure TForm1.FormCreate(Sender: TObject);
begin
EApp.Connect;
EApp.Visible[0] := True;

EWb.ConnectTo(EApp.Workbooks.Add(EmptyParam,0));

EWb.ConnectTo(EApp.Workbooks.Add(EmptyParam,0));
EWs.ConnectTo(EApp.Sheets[1] as _WorkSheet);

EWb.SaveAs(ExtractFilePath( Application.ExeName ) + Edit1.Text,
                              -4143 {51}, emptyParam , emptyParam, false, false,
                              1, emptyParam, false, emptyParam, emptyParam,
                               emptyParam, 0);
EApp.Quit;
EApp.Disconnect;
Application.Terminate;
end;

end.

2.- Programa simple que invoca a excel y crea un archivo con automatización, finalmente se cierra de forma automática.
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
   Excel : OleVariant;
   WrkB, WrkS : OleVariant;
begin
  try
     try
        Excel := GetActiveOleObject('Excel.Application');
     except
        Excel := CreateOleObject('Excel.Application');
     end;
     Excel.DisplayAlerts := True;
     Excel.Visible := True;
     //WrkB := Excel.Workbooks.Open(ExtractFilePath(Application.ExeName) + Edit1.Text);
     WrkB := Excel.Workbooks.Add;
     WrkB.SaveAs(ExtractFilePath(Application.ExeName) + Edit1.Text);
   finally
     Excel.Quit;
     Excel := Unassigned;
     WrkS := Unassigned;
     WrkB := Unassigned;
  end;
Application.Terminate;
end;

LOS DOS FUNCIONAN cuando los programo como tareas planificadas.

Ya no sé por dónde pegarle, estoy más confundido que antes...

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #5  
Antiguo 06-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
He ampliado las pruebas, y he añadido poner unos valores en algunas celdas.
Quería descartar que el error se provocara al dar los valores.

También funciona.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #6  
Antiguo 06-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
...una prueba simple...Programa simple que invoca a Excel y crea un archivo CON SERVERS...Programa simple que invoca a Excel y crea un archivo con automatización...y he añadido poner unos valores en algunas celdas...LOS DOS FUNCIONAN cuando los programo como tareas planificadas...
Al parecer, la variable es la interfaz GUI

Pregunto:

1- ¿Puedes incluir en dichos programas que la creación de los archivos de Excel sea con datos de la BD de la forma más simple posible y ver su comportamiento?.

2- ¿Que versión de Excel esta instalada en el Servidor?, ¿Es la misma del problema en cuestión?.

Espero sea útil

Nelson.
Responder Con Cita
  #7  
Antiguo 06-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 nlsgarcia Ver Mensaje
fjcg02,

Al parecer, la variable es la interfaz GUI
Hola Nelson,
Respecto a la interface GUI, ... Los programas que he realizado la tienen ( tform1 ).

No sé, estoy un poco desorientado...

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #8  
Antiguo 06-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
...Respecto a la interface GUI, ... Los programas que he realizado la tienen...
Es correcto , pero es una GUI básica, sin ningún control asociado según entiendo, ¿Es correcto?

Pregunto: ¿Puedes incluir todos los controles del programa original en los programas de prueba pero sin darle ninguna funcionalidad a ver cual es el comportamiento?, recuerda en lo posible realizar la prueba sugerida en el Msg #23

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 10:44:32.


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