Page 1 of 1

nombre de clase BLOCK en GetAllWin

Posted: Thu Aug 27, 2009 6:35 am
by gmart1
Hola a todos :
Tengo una consulta sobre la función GetAllWin, la he usado en una parte de mi código y en el array que devuelve he encontrado que hay algunos elementos cuya propiedad classname tiene el valor "BLOCK" y su ValType es "N" de numérico.
El resto de elementos son de tipo Objeto y la propiedad classname me devuelve TSAY, TGET, etc.
Mi pregunta es : ¿ qué son esos BLOCK de tipo numérico ?

Muchas gracias.
FW 2.3

Re: nombre de clase BLOCK en GetAllWin

Posted: Thu Aug 27, 2009 4:50 pm
by Antonio Linares
Puedes proporcionar un PRG de ejemplo en el que se pueda comprobar lo que comentas ? gracias

Re: nombre de clase BLOCK en GetAllWin

Posted: Fri Aug 28, 2009 4:13 pm
by gmart1
Hola Antonio, no puedo proporcionar un PRG, puesto que el error me da cuando pulso una tecla de función que tengo asignada por SET KEY, y no siempre se produce el error, he conseguido aislarlo y sé que es después de haber accedido a una clase creada por mi, llamada TTabla.
He copiado el error.log para que veas que el fallo está en la funcion READVAR (), la he encontrado en VALBLANK.PRG y se produce en la siguiente línea :

local nWnd := AScan( GetAllWin(),;
{ | oWnd | oWnd:lFocused .and. oWnd:ClassName() == "TGET" } )

Cuando evalúa oWnd:lFocused de la lista de GetAllWin, en _ existen elementos con valor "BLOCK" en classname y ValType = "N". Lo he solucionado dando la vuelta a la condición oWnd:ClassName() == "TGET" .and. oWnd:lFocused

Todavía no he podido saber cuando aparecen estos "BLOCK" en la lista GetAllWin, intentaré chequear la clase TTabla a ver en que momento se crean. De todas formas era más la curiosidad de saber qué devuelve la función GetAllWin y qué tipos de objetos existen.

Un saludo.

Application
===========
Path and name: W:\ANZAMAR\ICM\ENTRADAW.EXE (16 bits)
Size: 1,444,928 bytes
Max files handles permited: ( SetHandleCount() ) 255
Time from start: 0 hours 0 mins 17 secs
Error occurred at: 28-08-09, 17:49:50
Error description: Error Objects/8 No Object Msg.: NUMERIC:LFOCUSED

Stack Calls
===========
Called from LOCKERRHAN(0)
Called from (b)INITHANDL$(0)
Called from UNDEFINED:LFOCUSED(0)
Called from (b)READVAR(0)
Called from ASCAN(0)
Called from READVAR(0)
Called from TRAER(871)
Called from (b)PEDIR(238)
Called from TBUTTON:KEYDOWN(0)
Called from TBUTTON:KEYDOWN(0)
Called from TBUTTON:KEYDOWN(0)
Called from TBUTTON:HANDLEEVEN(0)
Called from DIALOGBOXI(0)
Called from TDIALOG:ACTIVATE(0)
Called from GET1(314)
Called from PEDIR(239)
Called from (b)DET_ENT(58)
Called from TTABLA:NUEVO(787)
Called from (b)INI_OPCION(431)
Called from TTABLA:EJECUTA_OP(492)
Called from TTABLA:TECLAFUNCI(824)
Called from (b)ACTIVA_TAB(172)
Called from TCBROWSE:KEYDOWN(0)
Called from TCBROWSE:KEYDOWN(0)
Called from TCBROWSE:KEYDOWN(0)
Called from TCBROWSE:HANDLEEVEN(0)
Called from DIALOGBOXI(0)
Called from TDIALOG:ACTIVATE(0)
Called from TTABLA:ACTIVA_TAB(202)
Called from DET_ENT(61)
Called from (b)MENUPRIN(72)
Called from TMENU:COMMAND(0)
Called from TWINDOW:COMMAND(0)
Called from TWINDOW:HANDLEEVEN(0)
Called from WINRUN(0)
Called from TWINDOW:ACTIVATE(0)
Called from MAIN(59)

System
======
CPU type: Pentium
Hardware memory: 1024 megs

Free System resources: 90 %
GDI resources: 90 %
User resources: 90 %

Compiler version: Clipper (R) 5.3b Intl. (Rev. 338) (1997.04.25)
Windows and MsDos versions: 3.95, 5.0

Windows total applications running: 5
1 explorer.exe
2 C:\WINDOWS\SYSTEM32\USER.EXE
3 W:\ANZAMAR\ICM\ENTRADAW.EXE
4 C:\WINDOWS\SYSTEM32\MMSYSTEM.DLL
5 C:\WINDOWS\SYSTEM32\WOWEXEC.EXE

Variables in use
================
Procedure Type Value
==========================
LOCKERRHAN
Param 1: O Class: ERROR
Param 2: B { || ... } CodeBlock
(b)INITHANDL$
Param 1: O Class: ERROR
UNDEFINED:LFOCUSED
(b)READVAR
Param 1: N 0
ASCAN
Param 1: A Len: 53
Param 2: B { || ... } CodeBlock
READVAR
Local 1: U
TRAER
Param 1: U Len: 2
Local 1: U
Local 2: U
Local 3: U
Local 4: U
Local 5: U
Local 6: N 1
(b)PEDIR
Param 1: C "DIALOGBOXI"
Param 2: N 0
Param 3: O Class: TBUTTON
TBUTTON:KEYDOWN
Param 1: N 115
Param 2: N 4063233
Local 1: O Class: TBUTTON
Local 2: B { || ... } CodeBlock
TBUTTON:KEYDOWN
Param 1: N 115
Param 2: N 4063233
Local 1: O Class: TBUTTON
TBUTTON:KEYDOWN
Param 1: N 115
Param 2: N 4063233
Local 1: O Class: TBUTTON
TBUTTON:HANDLEEVEN
Param 1: N 256
Param 2: N 115
Param 3: N 4063233
DIALOGBOXI
Param 1: N 5622
Param 2: C "„ È€ I j 2 { PSTATIC PEDIDO : > | PSTATIC ARTICULO : > } PSTATIC POSICION : ) 2 ~ PSTATIC PRECIO : 6 >  PSTATIC CANTIDAD : P , € PSTATIC TOTAL : 0  ‚ PEDIT 0 8
$ ‚ € PEDIT f Œ
ƒ PSTATIC 8 „ € PEDIT - - 8 ' … ‚ PEDIT 0.00 8 4 † ‚ PEDIT 1 8 N (
‡ ‚ PEDIT 0.00 ôÿèÿ. ˆ PBUTTON Aceptar "
Param 3: N 446
Param 4: O Class: TDIALOG
TDIALOG:ACTIVATE
Param 1: U
Param 2: U
Param 3: U
Param 4: L .F.
Param 5: U
Param 6: L .T.
Param 7: U
Param 8: U
Param 9: U
Local 1: O Class: TDIALOG
Local 2: N 446
Local 3: U
Local 4: U
Local 5: U
Local 6: O Class: TDIALOG
GET1
Param 1: O Class: TDIALOG
Param 2: O Class: TCBROWSE
Local 1: O Class: TDIALOG
Local 2: N 12
Local 3: N 10
PEDIR
Param 1: O Class: TDIALOG
Param 2: O Class: TCBROWSE
Local 1: L .F.
Local 2: N 1
(b)DET_ENT
Param 1: O Class: TDIALOG
Param 2: O Class: TCBROWSE
TTABLA:NUEVO
Local 1: O Class: TTABLA
Local 2: U
Local 3: N 19042
Local 4: L .F.
(b)INI_OPCION
TTABLA:EJECUTA_OP
Param 1: N 2
Local 1: O Class: TTABLA
TTABLA:TECLAFUNCI
Param 1: N 32
Param 2: N 3735553
Local 1: O Class: TTABLA
Local 2: L .F.
Local 3: N 2
(b)ACTIVA_TAB
Param 1: N 32
Param 2: N 3735553
TCBROWSE:KEYDOWN
Param 1: N 32
Param 2: N 3735553
Local 1: O Class: TCBROWSE
Local 2: U
TCBROWSE:KEYDOWN
Param 1: N 32
Param 2: N 3735553
Local 1: O Class: TCBROWSE
TCBROWSE:KEYDOWN
Param 1: N 32
Param 2: N 3735553
Local 1: O Class: TCBROWSE
TCBROWSE:HANDLEEVEN
Param 1: N 256
Param 2: N 32
Param 3: N 3735553
DIALOGBOXI
Param 1: N 5622
Param 2: C "„ È€9 ’G Entrada de Lineas entradas de Proveedor 2 e PSTATIC ALBARAN : x > f PSTATIC PROVEEDOR :
, g PSTATIC FECHA : x
& h PSTATIC BASE : À
i PSTATIC IVA : ö
, j PSTATIC TOTAL :   ‚
k PSTATIC ?
l ‚ PEDIT 0 ‘m ¡PTCBROWSE 7 N
n PBUTTON Modificar = (INTRO) „ M
o PBUTTON A¤adir = (ESP) Ð N
p PBUTTON Borrar = (CTRL + <-) N
q PBUTTON Salida = (ESC) 7 ,N
r PBUTTON Imprimir = (F3) „ ,M
s PBUTTON Buscar = (F4) Ð ,N
t PBUTTON Orden = (F6) ,N
u PBUTTON Traer = (F7) 7 9N
v PBUTTON Etiquetas = (F2) „ 9M
w PBUTTON Observaciones = (F9) 
$
x PSTATIC
$
y PSTATIC "
Param 3: N 666
Param 4: O Class: TDIALOG
TDIALOG:ACTIVATE
Param 1: U
Param 2: U
Param 3: U
Param 4: L .F.
Param 5: B { || ... } CodeBlock
Param 6: L .T.
Param 7: B { || ... } CodeBlock
Local 1: U
Local 2: U
Local 3: O Class: TDIALOG
Local 4: N 666
Local 5: U
Local 6: U
Local 7: U
Local 8: O Class: TDIALOG
TTABLA:ACTIVA_TAB
Local 1: U
Local 2: U
Local 3: O Class: TTABLA
Local 4: C "MOVIMIEN"
Local 5: A Len: 5
Local 6: A Len: 5
Local 7: N 802.76
Local 8: N 34.76
Local 9: A Len: 5
Local 10: N 0
Local 11: N 100
DET_ENT
Local 1: U
Local 2: A Len: 3
Local 3: B { || ... } CodeBlock
Local 4: A Len: 4
(b)MENUPRIN
Param 1: O Class: TMENUITEM
TMENU:COMMAND
Param 1: N 20001
Local 1: O Class: TMENU
Local 2: O Class: TMENUITEM
TWINDOW:COMMAND
Param 1: N 20001
Param 2: N 0
Local 1: O Class: TWINDOW
Local 2: N 0
Local 3: N 20001
Local 4: N 0
TWINDOW:HANDLEEVEN
Param 1: N 273
Param 2: N 20001
Param 3: N 0
WINRUN
Param 1: N 666
TWINDOW:ACTIVATE
Param 1: C "MAXIMIZED"
Param 2: U
Param 3: U
Param 4: U
Param 5: U
Param 6: B { || ... } CodeBlock
Param 7: B { || ... } CodeBlock
Param 8: U
Param 9: U
Param 10: U
Param 11: U
Param 12: U
Param 13: U
Param 14: U
Param 15: U
Param 16: U
Param 17: U
Param 18: U
Param 19: U
Local 1: O Class: TWINDOW
Local 2: U
Local 3: U
MAIN
Local 1: U
Local 2: U
Local 3: U

Linked RDDs
===========
DBFNTX
DBF
_DBFCDX
DBFCDX

DataBases in use
================

1: COLOR RddName: DBFNTX
==============================
RecNo RecCount BOF EOF
1 1 .F. .F.

Indexes in use TagName

Relations in use

2: CONFIGUR RddName: DBFNTX
==============================
RecNo RecCount BOF EOF
1 1 .F. .F.

Indexes in use TagName

Relations in use

3: CONF_ANO RddName: DBFNTX
==============================
RecNo RecCount BOF EOF
1 1 .F. .F.

Indexes in use TagName

Relations in use

4: DET_PRO RddName: DBFNTX
==============================
RecNo RecCount BOF EOF
1 3058 .F. .F.

Indexes in use TagName
=> Delegacion + STR ( Pedido, 6 ) + Ar1DET_PRO
Delegacion + IF ( Cantidad > Recibi2DET_PRO
Delegacion + IF ( Cantidad > Recibi3DET_PRO

Relations in use

5: PROVEEDO RddName: DBFNTX
==============================
RecNo RecCount BOF EOF
83 219 .F. .F.

Indexes in use TagName
=> Delegacion + Codigo 1PROVEED
Delegacion + Nombre 2PROVEED

Relations in use

6: ARTICULO RddName: DBFNTX
==============================
RecNo RecCount BOF EOF
18771 35142 .F. .F.

Indexes in use TagName
=> Delegacion + Codigo 1ARTICUL
Delegacion + Nombre 2ARTICUL

Relations in use

7: ALMACEN RddName: DBFNTX
==============================
RecNo RecCount BOF EOF
18771 35142 .F. .F.

Indexes in use TagName
=> Articulo 1ALMACEN
LTOC ( Stock - StockCli < StockMin 2ALMACEN

Relations in use

8: ENTREGAS RddName: DBFNTX
==============================
RecNo RecCount BOF EOF
66 66 .F. .F.

Indexes in use TagName
=> Delegacion + STR ( Numero, 6 ) 1ENTREGA
Delegacion + DTOS (Fecha) 2ENTREGA
Delegacion + Proveedor + DTOS (Fech3ENTREGA

Relations in use
1: TO ENTREGAS->Delegacion + ENTREGAS->Proveedor INTO PROVEEDO

9: => MOVIMIEN RddName: _DBFCDX
==============================
RecNo RecCount BOF EOF
19042 19114 .F. .F.

Indexes in use TagName
=> Delegacion + EntraSale + Valorado +1MOVIMIE
Delegacion + Articulo + DTOS ( Fech2MOVIMIE
Delegacion + EntraSale + STR ( Fact3MOVIMIE
Delegacion + EntraSale + DTOS (Fech4MOVIMIE
Delegacion + EntraSale + Represen +5MOVIMIE
Delegacion + EntraSale + Represen +6MOVIMIE
Delegacion + Cliente + Articulo + D7MOVIMIE

Relations in use

Classes in use:
===============
1 TANNOS
2 TWINDOW
3 TMENU
4 TMENUITEM
5 TBRUSH
6 TFONT
7 TMSGBAR
8 TRECT
9 TMSGITEM
10 TTIMER
11 TCONTROL
12 TBITMAP
13 TTALLAS
14 TTABLA
15 TDIALOG
16 TSAY
17 TGET
18 GET
19 TWBROWSE
20 TCBROWSE
21 TCCOLUMN
22 TBUTTON
23 TSCROLLBAR
24 ERROR
25 TSTRUCT

Memory Analysis
===============
Static memory:
data segment: 64k
Initial size: 50176 bytes (SYMP=936, Stack=18000, Heap=9112)
PRG Stack: 11621 bytes
267 Static variables: 3738 bytes

Dynamic memory consume:
Actual Value: 858911 bytes
Highest Value: 1078047 bytes

Re: nombre de clase BLOCK en GetAllWin

Posted: Fri Aug 28, 2009 5:57 pm
by Antonio Linares
El código fuente de GetAllWin() está en source\classes\window.prg

Puedes leer la documentación de GetAllWin() en el wiki de FiveWin:
http://wiki.fivetechsoft.com/doku.php?i ... _getallwin

Re: nombre de clase BLOCK en GetAllWin

Posted: Sat Aug 29, 2009 10:50 am
by gmart1
Voy a revisarlo, muchas gracias.