![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Register | FAQ | Members List | Calendar | Guía de estilo | Today's Posts |
![]() |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
Return value of function might be undefined
Buen dia
Tengo un problema con una funcion en la cual el compilador me marca warning, debido a que el codigo no es suficiente para asignar el resultado de la funcion es decir, no he identificado todos los comportamientos posibles de mi funcion. Le he dado vueltas y no puedo identificar que me falta. Todavia me encuentro atrapada en la programacion procedural.
Gracias Last edited by dec : 27/06/2006 at 11:04. |
|
#2
|
|||
|
|||
|
For
el problema esta en que nada te asegura que se ejecute por lo menos alguna vez el ciclo for
For b:= 0 to (ListFirst.Items.Count-1) do con lo cual terminas la funcion sin asignar un valor |
|
#3
|
|||
|
|||
|
Hola,
Si ListFirst.Items.Count es menor que 0 nunca se asignaria un resultado de retorno, y esto es lo que te marca el compilador, no importa demasiado el warning debido a que Items.Count en la practica nunca es menor que cero, pero esta propiedad esta definida en el objeto TStrings como integer , lo que significa que teoricamente podria tener un valor negativo. Saludos |
|
#4
|
|||
|
|||
Gracias por la ayudaHe resuelto el problema. El que se ejecute o no el codigo depende del estado de la caja de verificacion. Saludos y buen resto de dia |
|
#5
|
||||
|
||||
|
Normalmente al inicio de ese tipo de funciones, se suele poner Result:= false; de esta forma eliminas la advertencia del compilador, y le das un valor según convenga.
Result := false equivale a BorrarLista:= False Me gusta más usar "Result", porque usando el nombre de la función, puede parecer que es una variable; al leer el código suele desconcertarme. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#6
|
|||
|
|||
|
Efectivamente el Result debe inicializarse con un valor
Efectivamente mi problema tambien radicaba que no inicializaba Result
Gracias por el comentario Lepe ![]() |
![]() |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Undefined service gds_db/tcp | StartKill | Firebird e Interbase | 7 | 10/05/2012 00:15 |
| Function | vtdeleon | OOP | 1 | 25/11/2004 07:22 |
| Problema: "undefined service gds_db/tcp | Marc Gaspà | Firebird e Interbase | 4 | 10/05/2004 08:03 |
| return un Array | rjtostado | Oracle | 0 | 15/04/2004 04:44 |
| 'Return no-apply' | Roy | Varios | 9 | 10/06/2003 22:37 |
|