Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Básico » Error al llamar función en callback Responder al tema
Nuevo tema


Página 1 de 1  [ 2 mensajes ] 
 
Nota 2011-12-22 05:53 @287

Perlero Nuevo
Registrado: 2011-12-08 15:16 @678
Mensajes: 13
Error al llamar función en callback
¡Hola!

Tengo definido un archivo de funciones "funciones.pm" ubicado en /usr/share/perl5/, en el cual tengo definida una función "func($parm)" que recibe el string $parm y retorna un arreglo. Luego, en mi programa principal hago esto:

Syntax: [ Download ] [ Hide ]
Using perl Syntax Highlighting
  1. .....
  2. use funciones;
  3. .....
  4. .....
  5. sub buscar{
  6. ...
  7. my $lista = Gtk2::SimpleList->new(
  8.                         Nombre => 'text'
  9.             );
  10. ....
  11. $lista->signal_connect (row_activated =>
  12.    sub{
  13.       my ($slist, $path, $column,$ref) = @_;
  14.       my $row_ref = $slist->get_row_data_from_path ($path);
  15.       my @arreglo=@{$row_ref};
  16.       my @arr=func($arreglo[0]);
  17.       ....
  18.    });
  19. .....
  20. }
  21.  


Al llamar a la función func() dentro del callback me da el siguiente error:
Syntax: [ Download ] [ Hide ]
Using text Syntax Highlighting
*** unhandled exception in callback:
***   Unexpected EOF at /usr/share/perl5/funciones.pm line 328.
***  ignoring at ./principal.pl line 1069.
 


Pero si la llamada a la función la hago fuera del callback en cualquier otro lugar, funciona perfectamente. Pero necesito llamarla dentro del callback ya que preciso el dato que se selecciona al dar doble clic en la lista.

¿Alguna idea de lo que puede estar pasando?

¡Muchas gracias!


Nota 2011-12-22 06:36 @317
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10250
Re: Error al llamar función en callback
El error dice que se ha encontrado un fin de fichero en la línea 328 de funciones.pm.

Es posible que el programa esté llamando a la callback antes de que el fichero haya sido abierto. O que haya ocurrido un close() del fichero antes de la llamada.

P.D. No necesitas colocar funciones.pm en un directorio del sistema. Valdría con ponerlo en el mismo directorio donde está el programa principal.

_________________
JF^D Perl programming


Responder al tema  [ 2 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO