Re: [csharp-l] No se puede encontrar el método execute

Hola, omití lo obvio y es que la Kb tiene una preferencia para activar los dinamic call.

Enviado desde mi iPhone

El 28/07/2011, a las 18:44, Roberto Iván Lovera Lara <ivan.lovera@ehan.com.mx> escribió:

Qué tal Moisés

 

Ya probé con parámetros y sin parámetros y el resultado es el mismo, es más solo por probar hice el call con el nombre directo del programa y funciona bastante bien, pero necesito que esté en variable, ya que tengo que llamar a un catálogo con cientos de programas y no quiero hacer el call uno por uno de la manera tradicional para no tener que darle mantenimiento al programa que los ejecuta y solo que el usuario tenga bien configurado su catálogo.

 

Voy a checar lo del código generado a ver si por ahí encuentro la respuesta

 

Gracias

 

Saludos cordiales,

 

Iván Lovera Lara

 

De: mvera [mailto:mvera@integralware.com.mx]
Enviado el: jueves, 28 de julio de 2011 06:24 p.m.
Para: csharp-l@gxtech.com.uy
Asunto: RE: [csharp-l] No se puede encontrar el método execute

 

Supongo que reportelargo es un nombre interno de un objeto de GX, como realmente GX no hace call's dinámicos, ya que incluye en el código TODOS las llamadas a objetos coinciden con los parámetros usados en el llamado, en tu ejemplo ninguno:

 

Call(&Report)

 

1.- Verifica si tienes realmente objetos sin parámetros

 

2.- o ponle a reportelargo algún parámetro y el llamado debe cambiar

 

Reportelargo

      Rulues

            Parm(&parm1);

 

Call(&Report, &parm1)

 

Después podrías analizar el código generado para verificar lo que te menciono.

 

Saludos,

 

Moisés VERA

Director Consultor

Integralware Company

 

De: Roberto Iván Lovera Lara [mailto:ivan.lovera@ehan.com.mx]
Enviado el: jueves, 28 de julio de 2011 05:34 p.m.
Para: csharp-l@gxtech.com.uy
Asunto: [csharp-l] No se puede encontrar el método execute

 

Estimados

 

 

Estoy tratando de ejecutar programas Genexus dinámicamente, donde  el nombre del programa está en una variable

 

 

Pero al tratar de ejecutar el programa

 

 

&Reporte = 'reportelargo'

...

Call(&Report)

 

Obtengo el siguiente mensaje de error

 

Error de servidor en la aplicación '/CosEv1U5.NetEnvironment'.


No se puede encontrar el método 'GeneXus.Programs.reportelargo.execute'.

Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código.

 

 

 

 

Encontré una propiedad  que supongo tengo  que cambiar del default No a Sí,  lo hice, pero continua el error

 

Expand Dynamic Calls Property

Scope

Objects: Procedures, Transactions, Web Panels, Work Panels
Languages: .NET, Java, Visual Foxpro, RPG, Cobol
Interfaces: Web, Win

Purpose

To allow calling GeneXus objects dynamically.

Values

No: No objects are called
Yes: Capability to call objects

Default value = No

Description

This feature allows the specifier to transform a dynamic call (referencing a variable or attribute as first parameter) into a DO CASE, with as many CASEs as programs exist in the KB, with the same number and type of parameters referenced in the CALL.

 

¿Cómo puedo solucionar esto?

 

Muchas gracias de antemano

 

ev. 1 U5

C#

SqlServer

 

 

 

Saludos cordiales,

 

Iván Lovera Lara

 

0 Response to "Re: [csharp-l] No se puede encontrar el método execute"

Publicar un comentario