![]() |
Ordinal Type Required
Hola a todos, queria exponeros un problema que tengo:
De repente, no se porque, cuando necesito pasar como parámetro un array sea del tipo que sea, el compilador me lanza este error: [DCC Error] Prueba.pas(181): E2001 Ordinal type required Os pego la línea donde da el error:
Nunca me habia pasado antes, es mas esto es un código que hice hace varias semanas... pero ahora falla :( Agradeceria vuestra ayuda. Un saludo y mil gracias. |
Hola,
Creo que hay que aclarar algunas cosas. El código que muestras parece "bien formado", empero, tú mismo dices que el problema ocurre: Cita:
Así pues, insisto, el código que muestras parece correcto, en principio, y falta por ver cómo haces... Cita:
|
Ya lo he solucionado, ha sido asi:
Es decir, a las líneas que paso como parámetro, necesitan el tipo. Un saludo y mil gracias! |
Hola,
Pero,... lo que haces arriba es "promocionar" ("castear"...) la variable (o lo que sea) "dsEdit" para forzar (de cara al compilador) que sea tenida en cuenta como del tipo "TDataSetState". Ahora bien, ¿esto será correcto siempre? En fin... tampoco quiero yo ahora liar demasiado el asunto; tú que tienes acceso a toda la información es de suponer que sabrás lo que haces. :) |
Cuidado con ese molde de tipo ("type cast") Cecil. Si sin él, el compilador te arrojaba el error mencionado, seguramente es porque no se trataba de la constante dsEdit que todos conocemos, sino alguna otra cosa que fue nombrada con el mismo identificador.
De ser así, las consecuencias pueden ser inesperadas. Al González. :) |
Gracias por vuestras advertencias, la verdad esque lo he usado a la ligera si, pero necesito que no de fallo :D
DsAux se trata de un TpIBDataSet de las IBPlus, ¿sabeis si ese dsEdit se diferencia mucho del dsEdit TDataSetState, o si tendre muchos problemas?. Un saludo y gracias. |
Creo que no tiene que ver el componente data set. Hagamos una cosa:
Haz clic con el botón derecho sobre ese identificador "dsEdit" y elige la opción "Find Declaration". Dinos qué unidad .pas abrió el editor y muéstranos la línea de código a donde te llevó. También dinos por favor la versión de Delphi que estás utilizando. Gracias. Al. |
Errr... me vais a querer matar cuando os lo cuente...
El error estaba en que tenia un DataSource llamado "DsEdit", y claro el error venia de esa forma... y bueno, me ha pasado en varios sitios :eek: Una vez mas este foro me ha salvado la vida, gracias por vuestra ayuda! Un saludo y buenas noches! |
De nada. Me alegro por haberte servido mi consejo, y qué decir de David que hizo muy bien en cuestionar la falsa solución por la que habías optado inicialmente.
Saludos. Al. |
| La franja horaria es GMT +2. Ahora son las 21:37:53. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi