Page 1 of 1
Porque se cae...
Posted: Wed May 10, 2006 8:50 am
by thefull
Llevo sufriendo esto desde la 2.6, y no se porque ocurre.
Si digo que tengo un boton con un tooltip, 'a veces', y eso es lo que mas me jode, casca, por ejemplo, aqui teneis :
Error description: Error FiveWin/6 Cannot create window or control:
Class: TWINDOW
Caption:
System Error: No se ha encontrado la clase de ventana.
Called from: WINDOW.PRG => WNDCREATEERROR(0)
Called from: WINDOW.PRG => TWINDOW:CREATE(0)
Called from: WINDOW.PRG => TWINDOW:NEW(0)
Called from: WINDOW.PRG => TBUTTON:SHOWTOOLTIP(0)
Called from: WINDOW.PRG => TBUTTON:CHECKTOOLTIP(0)
Called from: WINDOW.PRG => TWINDOW:MOUSEMOVE(0)
Called from: CONTROL.PRG => TCONTROL:MOUSEMOVE(0)
Called from: BUTTON.PRG => (b)TBUTTON:TBUTTON(0)
Called from: BUTTON.PRG => TBUTTON:MOUSEMOVE(0)
Called from: WINDOW.PRG => TWINDOW:HANDLEEVENT(0)
Called from: CONTROL.PRG => TBUTTON:HANDLEEVENT(0)
Called from: WINDOW.PRG => _FWH(0)
Called from: => SYSREFRESH(0)
Called from: DIALOG.PRG => TDIALOG:END(0)
Tambien, usando ChartFX98, es IMPOSIBLE que no se caiga aleatoriamente, estoy ya rendido de decir que realmente no funciona este control en Fivewin, porque ALEATORIAMENTE, casca cuando menos te lo piensas, y he puesto el sysrefresh, el syswait, antes , despues, sin , con, etc..., dando error de Fivewin 3/Cannot not ....
NO QUE ??? si tienes ahi el dialog, hombre....
En fin....haber si alguien se a encontrado con esto....
Posted: Wed May 10, 2006 10:01 am
by Antonio Linares
Rafa,
Parece que el error se produce aqui:
Code: Select all
DEFINE WINDOW oToolTip FROM 0, 0 TO 1, 5 ; AQUI!
STYLE nOr( WS_POPUP, WS_BORDER ) ;
COLOR 0, RGB( 255, 255, 225 ) OF Self
oTemp = oToolTip
#ifndef __CLIPPER__
DestroyWindow( oToolTip:hWnd )
hWnd = CreateToolTip( Self:hWnd, cToolTip )
Te agradecería si pudieses poner un LogFile() antes y después de ese DEFINE WINDOW para ver si es ahí donde se produce el error. Otra opción es compilar window.prg con números de línea para que nos diga la línea exacta del error. Gracias.
Posted: Wed May 10, 2006 10:11 am
by thefull
Antonio Linares wrote:Rafa,
Parece que el error se produce aqui:
Code: Select all
DEFINE WINDOW oToolTip FROM 0, 0 TO 1, 5 ; AQUI!
STYLE nOr( WS_POPUP, WS_BORDER ) ;
COLOR 0, RGB( 255, 255, 225 ) OF Self
oTemp = oToolTip
#ifndef __CLIPPER__
DestroyWindow( oToolTip:hWnd )
hWnd = CreateToolTip( Self:hWnd, cToolTip )
Te agradecería si pudieses poner un LogFile() antes y después de ese DEFINE WINDOW para ver si es ahí donde se produce el error. Otra opción es compilar window.prg con números de línea para que nos diga la línea exacta del error. Gracias.
Ahora mismo lo prueboo... peroo... ahora me a salido esto:
Error occurred at: 10/05/06, 12:07:24
Error description: Error FiveWin/3 Cannot create Dialog Box:
ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿResource: graf_2
Called from: => CREATEDLGERROR(0)
Called from: DIALOG.PRG => TDIALOG:ACTIVATE(0)
Called from: folder.PRG => TFOLDER:DEFAULT(0)
Called from: folder.PRG => TFOLDER:INITIATE(0)
Called from: => __OBJSENDMSG(0)
Called from: HARBOUR.PRG => OSEND(0)
Called from: HARBOUR.PRG => ASEND(0)
Called from: DIALOG.PRG => TDIALOG:INITIATE(0)
Called from: DIALOG.PRG => TDIALOG:HANDLEEVENT(0)
Called from: => DIALOGBOX(0)
Called from: DIALOG.PRG => TDIALOG:ACTIVATE(0)
Called from: grafica.prg => MENUGRAF(137)
137--> ACTIVATE DIALOG oDlg CENTER ON INIT ( oChartFx:Create())
Antonio, yo creo que a veces, como el ocx lo tengo metido en un folder , no en un dialog, puede estar por ahi el problema...
¿ Como podria hacer el ON INIT, pero para el folder, no para el dialog ?
Seria : oDlg:aDialogs[2]:binit := {||oChartFx:Create() }....
Voy a ver...
Posted: Wed May 10, 2006 10:19 am
by thefull
Antonio Linares wrote:Rafa,
Parece que el error se produce aqui:
Code: Select all
DEFINE WINDOW oToolTip FROM 0, 0 TO 1, 5 ; AQUI!
STYLE nOr( WS_POPUP, WS_BORDER ) ;
COLOR 0, RGB( 255, 255, 225 ) OF Self
oTemp = oToolTip
#ifndef __CLIPPER__
DestroyWindow( oToolTip:hWnd )
hWnd = CreateToolTip( Self:hWnd, cToolTip )
Te agradecería si pudieses poner un LogFile() antes y después de ese DEFINE WINDOW para ver si es ahí donde se produce el error. Otra opción es compilar window.prg con números de línea para que nos diga la línea exacta del error. Gracias.
Antonio,
Called from: window.prg => WNDCREATEERROR(680)
Called from: window.prg => TWINDOW:CREATE(661)
Called from: window.prg => TWINDOW:NEW(744)
Called from: window.prg => TBUTTON:SHOWTOOLTIP(2811)
Called from: window.prg => TBUTTON:CHECKTOOLTIP(2781)
Called from: window.prg => TWINDOW:MOUSEMOVE(2717)
Called from: CONTROL.PRG => TCONTROL:MOUSEMOVE(0)
Pero no tengo ni idea que me dices eso del LogFile,
¿ que se supone que tengo que poner ?
Posted: Wed May 10, 2006 11:19 am
by Antonio Linares
Rafa,
Con los números de línea está perfecto, gracias.
El texto de esos tooltips tiene algún caracter especial en particular ? Es realmente extraño que Windows no pueda crearlos.
Posted: Wed May 10, 2006 11:51 am
by thefull
Antonio Linares wrote:Rafa,
Con los números de línea está perfecto, gracias.
El texto de esos tooltips tiene algún caracter especial en particular ? Es realmente extraño que Windows no pueda crearlos.
oBtn:cToolTip := "ESC-Salir"
oBtn:cToolTip := "F11" y los F1, f2, f3, etc.., nada de especial.
Saludos
Rafa Carmona
Posted: Mon Dec 17, 2007 10:25 am
by Biel EA6DD
Hola Rafa, este post ya es muy viejo y supongo que este problema ya lo tienes resuelto, o directamente has tirado po otro camino.
A mi recientemente me ha pasado exactamente los mismo, errores aleatorios en la aplaicación, al utilizar una clase que habia creado.
Stack Calls
===========
Called from: => WNDCREATEERROR(680)
Called from: => TWINDOW:CREATE(661)
Called from: => TWINDOW:NEW(744)
...
En mi caso se ha solucionado, añadiendo la siguiente linea en la clase
Posted: Mon Dec 17, 2007 10:38 am
by Antonio Linares
Biel,
Si, esa CLASSDATA es obligatoria para nuevas clases que no sean propias de Windows. En el caso de los tooltips, son clases nativas de Windows.
De todas formas, gracias! y a ver que nos comenta Rafa
Posted: Mon Dec 17, 2007 2:29 pm
by Biel EA6DD
La clase que tenia implementada me funcionaba perfectamente, y luego el casque me lo daba en cualquier otro sitiio, sin tener nada que ver con mi clase(realmente si tenia que ver).
Called from: => WNDCREATEERROR(680)
Called from: => TWINDOW:CREATE(661)
Called from: => TWINDOW:NEW(744)
Called from: => TWINDOW:SHOWTOOLTIP(2793)
Called from: => TWINDOW:CHECKTOOLTIP(2763)
Called from: => TWINDOW:MOUSEMOVE(2699)
Called from: => TWINDOW:MOUSEMOVE(0)
Called from: => TWINDOW:MOUSEMOVE(0)
Called from: => TWINDOW:HANDLEEVENT(0)
Called from: => TWINDOW:HANDLEEVENT(0)
...
El error es practicamente calcado al que reporta Rafa, y seguramente no tiene nada que ver con el tooltip, sino con alguna clase que este utilizando en la cual no esta definido la CLASSDATA.
Posted: Mon Dec 17, 2007 3:06 pm
by Antonio Linares
Biel,
>
El error es practicamente calcado al que reporta Rafa, y seguramente no tiene nada que ver con el tooltip, sino con alguna clase que este utilizando en la cual no esta definido la CLASSDATA.
>
Cierto
Habría que revisar las clases (de controles definidos por el usuario) que esté usando y que no tengan esa CLASSDATA
Posted: Thu Dec 20, 2007 10:19 am
by thefull
Antonio Linares wrote:Biel,
>
El error es practicamente calcado al que reporta Rafa, y seguramente no tiene nada que ver con el tooltip, sino con alguna clase que este utilizando en la cual no esta definido la CLASSDATA.
>
Cierto
Habría que revisar las clases (de controles definidos por el usuario) que esté usando y que no tengan esa CLASSDATA
Bueno, yo me olvidé totalmente del tema simplemente quitando los tooltips.
Lo que veo es que estaba haciendo uso de una clase modificada;
CLASS TButton, y no tenia declarado lRegistered, pero es que la clase TButton tampoco lo tiene y he visto que hay algunas que tampoco lo tienen, como la clase TGet.
Lo que si he visto que los tabs, no lo tenia puesto, y se lo he puesto,
era es porque es un copy/paste , pero de eso de hace tiempo.
De momento, parece que funciona correctamente!, espero que no se le vaya la olla.
Gracias por la ayuda!
Posted: Thu Dec 20, 2007 10:51 am
by Antonio Linares
Rafa,
Las clases propias de Windows no necesitan esa CLASSDATA