FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Cómo paso por parametro una matriz??
Hola nuevamente a toda la comunidad, agradeciendo de antemano la ayuda que siembre me brindan, y la que espero puedan darme una vez mas para un problema que creo es cosa de niños, pero pues aun no he dado con la solucion.
Pues es eso, cómo paso por parametro una funcion en un procedimiento intente cosas como prodedure miProc(var mat:array[0..x,0..x] of integer) prodedure miProc(var mat:array of integer), etc, pero pues no doy con la respuesta correcta, espero puedan hecharme una mano, ah, y aprovechando la oportunidad, tambien quisiera saber cómo puedo regresar una matriz con una funcion. Gracias nuevamente. |
#3
|
||||
|
||||
Gracias dec por la respuesta, si, seguro que debe ser asi como lo planteas, es solo que aun soy muy novato y tuve problemas al declarar el tipo, es decir, lo hice de la siguiente manera
pero de esta manera me marca el error: Expected an identifier but Array found, y si lo hago de la siguiente manera Marca: Expected ":" but "=" found Si lo declaro de la ultima manera en la parte de implementation, entonces si funciona, pero si los "procedure" o "function" de la parte de type ocupan este nuevo tipo entonces marca el error Undeclared identifier "TMyArray" y pues yo me imagino que lo estoy declarando en el lugar equivocado, espero puedas indicarme el lugar correcto para declarar un tipo predefinido, ademas, pienso pasarle esa matriz como parametro a un procedimiento que está en otro form, por ello creo que no serviría declarar el tipo en la parte de implementation. Espero puedas aclararme esta duda Gracias nuevamente por la ayuda. |
#4
|
||||
|
||||
Hola,
Creo que el problema estriba en que hay que declarar el tipo en cuestión dentro de la cláusula "interface" (para que esté disponible en otras unidades que añaden aquella donde se declare el tipo) o en la cláusula "implementation". Y, según tú mismo sabes, no puede declararse en otro lugar. Así pues:
La declaración de "TMyArray" está fuera de "interface", pero, pareciera que también queda fuera de "implementation". Debería quedar algo como esto:
O bien:
|
#5
|
||||
|
||||
gracias nuevamente por tu respuesta dec, sin embargo tampoco resultó de la manera que me indicaste, que fue la siguiente
porque me marca el error "Declaration expected but USES found" y en implementation si puedo declarar el tipo, pero tampoco me sirve, pues mi programa tiene la siguiente estructura.
y como dije, de esa manera si puedo declarar el tipo, pero en la linea que comenté en el codigo me marca "Undeclared identifier TMyArray" por lo que imagino que si debe ser en un nivel mas arriba la declaracion, solo que no funcionó dentro de interface. Ya probe declararlo en varias partes, pero sigo sin obtener resultados. He hecho algo mal sobre tu sugerencia?? Gracias nuevamente Última edición por NeoAnderson fecha: 12-03-2008 a las 01:16:57. |
#6
|
||||
|
||||
Hola,
No deberías tener problemas... No se a que se deba el error del uses, pero mi primera sospecha se deba a que tienes un uses "vacio", es decir que no haces uso de ninguna unidad. Si no vas a usar ninguna, borra la sección uses. Te debería quedar algo asi:
De la segunda manera (el tipo en implementation) no vas a poder "comunicarte" en forma externa cuando desees suministrar los parámetros debido a que el tipo no es dado a conocer a los demás. Algo que no me queda claro en tus códigos es que si se trata de una Unit asociada a un Form, o es una unidad limpia (sin form asociado). ¿Podrías exponer el código completo? De esta manera podremos saber realmente que es lo que estás haciendo... en ocasiones esos "puntos suspensivos" pueden decirnos más de lo que crees. Saludos, |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema Paso parametro funcion | NEG1414 | C++ Builder | 1 | 13-12-2007 22:58:22 |
Pasar Matriz como parametro a un procedimiento | Caro | Varios | 2 | 28-07-2006 17:20:12 |
Como paso un parametro a un formulario | FNADALO | OOP | 4 | 22-11-2003 19:52:02 |
Como paso una matriz a una funcion | Alejo | Varios | 5 | 04-07-2003 21:21:49 |
Como paso un la intancia Tstrings de un TComboBox (ComboBox.items) por parametro? | orfeo | OOP | 1 | 05-05-2003 07:58:52 |
|