Migrando KLog... ¿Alguna sugerencia?

View: New views
5 Messages — Rating Filter:   Alert me  

Migrando KLog... ¿Alguna sugerencia?

by Jaime Robles :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Buenas de nuevo,

Ya tengo compilando KLog... con MUCHOS "warnings" pero por lo menos
compila con Qt4/KDE4 ':-)

Ahora estoy con el problema de que muere nada más arrancarlo y no se por
dónde tirar.

Supongo que será un problema derivado de mi falta de conocimiento de
programación... por lo que probablemente esté haciendo una barbaridad... y
en eso confío para pedir por aquí algo de ayuda, que sea una barbaridad
fácil de identificar por alguien con los mínimos conocimientos.


¿Se anima alguien a compilar el código y ver el error que da? A ver si
alguien me puede orientar en el buen camino... por favor.

El código es una "guarrada"... lo era antes de la migración pero lo que
tengo ahora... bueno, me da hasta vergüenza publicarlo!! X'DDD

Está aquí:
http://jaime.robles.es/klog/download/unstable/

Muchas gracias...


--
Un saludo,
        Jaime Robles, EA4TV
        jaime@...

Visita:
   http://jaime.robles.es

_______________________________________________
Kde-devel-es mailing list
Kde-devel-es@...
https://mail.kde.org/mailman/listinfo/kde-devel-es

Re: Migrando KLog... ¿Alguna sugerencia?

by Albert Astals Cid-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

A Dijous, 3 de setembre de 2009, Jaime Robles va escriure:

> Buenas de nuevo,
>
> Ya tengo compilando KLog... con MUCHOS "warnings" pero por lo menos
> compila con Qt4/KDE4 ':-)
>
> Ahora estoy con el problema de que muere nada más arrancarlo y no se por
> dónde tirar.
>
> Supongo que será un problema derivado de mi falta de conocimiento de
> programación... por lo que probablemente esté haciendo una barbaridad... y
> en eso confío para pedir por aquí algo de ayuda, que sea una barbaridad
> fácil de identificar por alguien con los mínimos conocimientos.
>
>
> ¿Se anima alguien a compilar el código y ver el error que da? A ver si
> alguien me puede orientar en el buen camino... por favor.
>
> El código es una "guarrada"... lo era antes de la migración pero lo que
> tengo ahora... bueno, me da hasta vergüenza publicarlo!! X'DDD
>
> Está aquí:
> http://jaime.robles.es/klog/download/unstable/
>
> Muchas gracias...

Te falta un cmake check para libhamlib-dev

El código no compila tienes
./src/awarddxcc.h:28:const int ENTITIES = 400;
./src/entity.h:29:#define ENTITIES 340
./src/awardwaz.h:28:const int ENTITIES = 400;
./src/awardiota.h:27:const int ENTITIES = 400;

cuando alguno de los 3 const incluye a entity.h queda algo como
const int 340 = 400;
y el compilador dice
error: expected unqualified-id before numeric constant

Una vez comentado el #define de entity.h compila y peta al arrancar

El señor valgrind nos dice

Use of uninitialised value of size 8                                                                                                      
   at 0x78DC3D4: QComboBox::d_func() const (qcombobox.h:303)                                                                              
   by 0x78CF373: QComboBox::count() const (qcombobox.cpp:1264)                                                                            
   by 0x43A6B5: QComboBox::insertStringList(QStringList const&, int)
(qcombobox.h:279)                                                    
   by 0x443C90: Setup::setRig() (setup.cpp:887)                                                                                            
   by 0x4484E2: Setup::Setup(QWidget*, char const*) (setup.cpp:46)                                                                        
   by 0x422C37: Klog::slotKlogSetup() (klog.cpp:4597)                                                                                      
   by 0x422B72: Klog::readConf() (klog.cpp:2316)                                                                                          
   by 0x438164: Klog::Klog(QWidget*, char const*) (klog.cpp:109)                                                                          
   by 0x43CC28: main (main.cpp:59)    

Basicamente como la culpa no es de Qt sino tuya (por definicion en el 99% de
los casos) esto significa que el problema esta en setup.cpp linea 887.

P: ¿Que estás haciendo ahi?
R: Usar comboBoxTrvList.

P: ¿Que puede haber de malo en eso?
R: Que no se haya hecho new del puntero

P: Pero si es parte de mi fichero ui! Eso significa que es culpa de Qt
R: No, eso significa que no has llamado a setupUi.
   Haz setupUi(this) en la primera linea del constructor

P: Pero entonces no compila!
R: Porque en el setupui.ui dices que quieres que tu padre sea un QDialog
   y luego en setup.h usas un QWidget. Haz que la clase Setup sea un QDialog

P: Pero entonces sigue sin arrancar!
R: El señor gdb te servirá para ver que tienes un bucle infinito en el
   que Klog::readConf llama a Klog::slotKlogSetup que llama a Klog::readConf

El como arreglar este último problema ya es cosa tuya.

Albert
_______________________________________________
Kde-devel-es mailing list
Kde-devel-es@...
https://mail.kde.org/mailman/listinfo/kde-devel-es

Re: Migrando KLog... ¿Alguna sugerencia?

by Jaime Robles :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Buenas Albert,

MUCHAS GRACIAS por tu ayuda!!
Evidentemente, todos los fallos son mi culpa y no de Qt ni KDE X'DD que no
se programar, las cosas como son!


> Basicamente como la culpa no es de Qt sino tuya (por definicion en el 99%
> de los casos) esto significa que el problema esta en setup.cpp linea 887.

> P: Pero entonces no compila!
> R: Porque en el setupui.ui dices que quieres que tu padre sea un QDialog
>    y luego en setup.h usas un QWidget. Haz que la clase Setup sea un
> QDialog
Eso es definiendo
Ahora está así:
=========================
class Setup :public QWidget,  public Ui_setupui{
  Q_OBJECT
  public:
=========================

¿Se hace así?


=========================
class Setup :public QDialog,  public Ui_setupui{
  public:
=========================


> P: Pero entonces sigue sin arrancar!
> R: El señor gdb te servirá para ver que tienes un bucle infinito en el
>    que Klog::readConf llama a Klog::slotKlogSetup que llama a
> Klog::readConf
> El como arreglar este último problema ya es cosa tuya.
Ups!
Pues no había caído en esto... y tienes TODA la razón.
Lo he arreglado ya... era una simple comprobación, por si era la primera
vez que se arrancaba klog en una máquina, para generar el tipico "klogrc".

MUCHAS GRACIAS Albert, de verdad :-)''

--
Un saludo,
        Jaime Robles, EA4TV
        jaime@...

Visita:
   http://jaime.robles.es

_______________________________________________
Kde-devel-es mailing list
Kde-devel-es@...
https://mail.kde.org/mailman/listinfo/kde-devel-es

Re: Migrando KLog... ¿Alguna sugerencia?

by Aleix Pol-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



2009/9/7 Jaime Robles <jaime@...>
Buenas Albert,

MUCHAS GRACIAS por tu ayuda!!
Evidentemente, todos los fallos son mi culpa y no de Qt ni KDE X'DD que no
se programar, las cosas como son!


> Basicamente como la culpa no es de Qt sino tuya (por definicion en el 99%
> de los casos) esto significa que el problema esta en setup.cpp linea 887.

> P: Pero entonces no compila!
> R: Porque en el setupui.ui dices que quieres que tu padre sea un QDialog
>    y luego en setup.h usas un QWidget. Haz que la clase Setup sea un
> QDialog
Eso es definiendo
Ahora está así:
=========================
class Setup :public QWidget,  public Ui_setupui{
 Q_OBJECT
 public:
=========================

¿Se hace así?


=========================
class Setup :public QDialog,  public Ui_setupui{
 public:
=========================

No, el Ui_ debe ser un miembro de la clase, asi no tienes que incluirlo en el .h.

De esta forma, en el constructor simplemente pones:
Ui_miUi *ui=new Ui_miUi;
ui->setupUi(this);

O si estas usando un QDialog, el widget que estés usando para poner el contenido.
 

> P: Pero entonces sigue sin arrancar!
> R: El señor gdb te servirá para ver que tienes un bucle infinito en el
>    que Klog::readConf llama a Klog::slotKlogSetup que llama a
> Klog::readConf
> El como arreglar este último problema ya es cosa tuya.
Ups!
Pues no había caído en esto... y tienes TODA la razón.
Lo he arreglado ya... era una simple comprobación, por si era la primera
vez que se arrancaba klog en una máquina, para generar el tipico "klogrc".

MUCHAS GRACIAS Albert, de verdad :-)''

--
Un saludo,
       Jaime Robles, EA4TV
       jaime@...

Visita:
  http://jaime.robles.es

_______________________________________________


_______________________________________________
Kde-devel-es mailing list
Kde-devel-es@...
https://mail.kde.org/mailman/listinfo/kde-devel-es

Re: Migrando KLog... ¿Alguna sugerencia?

by Albert Astals Cid-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

A Dilluns, 7 de setembre de 2009, Aleix Pol va escriure:

> 2009/9/7 Jaime Robles <jaime@...>
>
> > Buenas Albert,
> >
> > MUCHAS GRACIAS por tu ayuda!!
> > Evidentemente, todos los fallos son mi culpa y no de Qt ni KDE X'DD que
> > no se programar, las cosas como son!
> >
> > > Basicamente como la culpa no es de Qt sino tuya (por definicion en el
> > > 99% de los casos) esto significa que el problema esta en setup.cpp
> > > linea 887.
> > >
> > > P: Pero entonces no compila!
> > > R: Porque en el setupui.ui dices que quieres que tu padre sea un
> > > QDialog y luego en setup.h usas un QWidget. Haz que la clase Setup sea
> > > un QDialog
> >
> > Eso es definiendo
> > Ahora está así:
> > =========================
> > class Setup :public QWidget,  public Ui_setupui{
> >  Q_OBJECT
> >  public:
> > =========================
> >
> > ¿Se hace así?
> >
> >
> > =========================
> > class Setup :public QDialog,  public Ui_setupui{
> >  public:
> > =========================
> >
> > No, el Ui_ debe ser un miembro de la clase, asi no tienes que incluirlo
> > en
>
> el .h.
>
> De esta forma, en el constructor simplemente pones:
> Ui_miUi *ui=new Ui_miUi;
> ui->setupUi(this);
>
> O si estas usando un QDialog, el widget que estés usando para poner el
> contenido.

De hecho "lo normal" es hacer lo que Aleix dice y poner el Ui_ como miembro,
pero heredar de el tampoco esta "mal" per se. Si decides heredar de el si,
seria lo que tu dices.

Albert
_______________________________________________
Kde-devel-es mailing list
Kde-devel-es@...
https://mail.kde.org/mailman/listinfo/kde-devel-es