Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-07-2007
gaps2k gaps2k is offline
Miembro
 
Registrado: may 2006
Posts: 27
Poder: 0
gaps2k Va por buen camino
Necesito Tener 6 Documentos simultaneamente

trabajar_fila(i, 0, false,
encabezados_orden[i], //este es un TencabezadoOrden array [0..5]
grid[i], //arreglo de Detalles
sql_aux, //tquery
grid_prod) //TStringGrid

El grid[i], es un: grid : array[0..5, 1..8] of TLineaOrdenProduccion;

(TLineaOrdenProduccion, hereda de TDetalle)

El errior dice:

(1069): incompatible types
Responder Con Cita
  #2  
Antiguo 12-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

¿No deberías especificar "el grid" mediante dos índices? Es decir:

Código Delphi [-]

grid[i][j]

Lo digo porque:

Código Delphi [-]
grid: array[0..5, 1..8] of TLineaOrdenProduccion;
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 12-07-2007
gaps2k gaps2k is offline
Miembro
 
Registrado: may 2006
Posts: 27
Poder: 0
gaps2k Va por buen camino
Grid en dos dimensiones

Cita:
Empezado por dec
Hola,

¿No deberías especificar "el grid" mediante dos índices? Es decir:


Código Delphi [-]

grid[i][j]

Lo digo porque:

Código Delphi [-]
grid: array[0..5, 1..8] of TLineaOrdenProduccion;
lo que pasa es que al ser un arreglo de dos dimensiones, se puede ver como que cada elemento "x", tiene asociado un arreglo que se ubica en "y", entonces al pasar grid[i], estoy pasando el Array of Tdetalle que requiere la función.
Responder Con Cita
  #4  
Antiguo 12-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Sí; creo que llevas razón. Pues chico, el error "Incompatible types" me deja KO, puesto que esperaba algo más de concreción. No sé. La verdad es que ahora mismo no sé qué decirte... a ver si algún compañero que nos esté leyendo...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 13-07-2007
gaps2k gaps2k is offline
Miembro
 
Registrado: may 2006
Posts: 27
Poder: 0
gaps2k Va por buen camino
Idea

Gracias por el interés!!

Agradezco que si alguien entiende porque ocurre este error me lo explique, ya que si me es necesario poder realizar tareas como esta!!

Por el momento, graciaspor esta charla, se me ocurrio un cambio en la función, ya que en este caso especifico puedo resivir unicamente un elemento del tipo TDetalle, voy a ver si esto funciona!
Responder Con Cita
  #6  
Antiguo 15-07-2007
Avatar de ariefez
ariefez ariefez is offline
Miembro
 
Registrado: sep 2005
Ubicación: Perú - Lima
Posts: 63
Poder: 19
ariefez Va por buen camino
Espero no sea tarde, pero si el problema es de parametros seria cuestion de redefinir el procedimiento, cambiando el tipo del parametro que causa el error.

Por ejemplo
Código Delphi [-]
type
  DettaleArray = array of TDetalle;

function trabajar_fila(fila, columna : integer; mueve : boolean; encabezado:TEncabezado;
  lineas: DettaleArray; sql:TQuery; grid_prod:TStringGrid) : boolean;

....

var
  grid: array of array of TLineaOrdenProduccion;
begin
  // Inicializo grid
  ...
  trabajar_fila(..., DettaleArray(grid[0]), ....); // Realizo un cast para q los tipos sean compatibles


Haciendo esto el error desaparece , ya nos contaras como lo solucionaste.
Responder Con Cita
  #7  
Antiguo 16-07-2007
gaps2k gaps2k is offline
Miembro
 
Registrado: may 2006
Posts: 27
Poder: 0
gaps2k Va por buen camino
Definir el Tipo

Muy buena idea, la voy a probar!!

Les comento que para el caso específico, lo que hice fue pasar solo un elemento en lugar del Array, con lo cual pude solucionar el problema, sin embargo tengo varias funciones que requieren el array (por ejemplo todas las lineas de una factura), las cuales me estaban preocupando, pero ahora tengo una foma más para tratar de solucionarlo!!

De nuevo muchas gracias!!
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
Pasar matriz como parámetros bosterito Varios 1 26-11-2006 03:42:40
Polimorfismo con diferentes parámetros Deiv OOP 6 24-11-2006 21:56:56
Cómo pasar los parámetros? dunia_lv Impresión 0 15-04-2005 16:26:42
Como pasar parametros en la llamada de mi ejecutable? Javi2 Varios 4 14-07-2004 16:28:35
como pasar parametros... hook SQL 13 11-05-2004 19:24:14


La franja horaria es GMT +2. Ahora son las 15:36:14.


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