Favor Necesito Ayuda Urgente

Post Reply
Miguel Rivera
Posts: 117
Joined: Sun Oct 01, 2006 11:39 pm

Favor Necesito Ayuda Urgente

Post by Miguel Rivera »

Hola Amigos:

Tengo un problema que necesito solucionar en forma urgente:
Uso Clipper 5.2e, Fivewin 2.2 Blinker 7.0.

Cada Vez que hago el get del Id 48, 37, 38,...

El programa se cae, arrojando el error que se describe mas abajo

En espera de una urgente ayuda,

Se despide.

Miguel Rivera



Tengo el siguiente Codigo:

Redefine Get oPor_des1 Var Por_des1 Id 48 Of oDlgEdit Update Picture "9999.99" Color "w+/b*" ;
Valid Calcu_des(Por_des1)
Redefine Say oDes_uf1 Prompt Des_uf1 Id 49 Of oDlgEdit Picture "99,999,999.99" Color "w+/b*"
Redefine Get oCan_est1 Var Can_est1 Id 37 Of oDlgEdit Update Picture "9999" Color "w+/b*"
Redefine Get oEst_cub1 Var Est_cub1 Id 38 Of oDlgEdit Update Picture "9999" Color "w+/b*"
Redefine Get oEst_ncu1 Var Est_ncu1 Id 39 Of oDlgEdit Update Picture "9999" Color "w+/b*"

REDEFINE Say oEdu_uf1 Prompt Ecu_uf1 ID 41 OF oDlgEdit Font oFont2 Picture "99,999,999.99"
REDEFINE Say oEdu_pes1 Prompt Ecu_pes1 ID 42 OF oDlgEdit Font oFont2 Picture "999,999,999"
REDEFINE Say oEcu_uf1 Prompt Ecu_uf1 ID 44 OF oDlgEdit Font oFont2 Picture "9,999,999.99"
REDEFINE Say oEcu_pes1 Prompt Ecu_pes1 ID 45 OF oDlgEdit Font oFont2 Picture "9,99,999,999"
REDEFINE Say oEnc_uf1 Prompt Enc_uf1 ID 46 OF oDlgEdit Font oFont2 Picture "9,999,999.99"
REDEFINE Say oEnc_pes1 Prompt Enc_pes1 ID 47 OF oDlgEdit Font oFont2 Picture "9,99,999,999"

Redefine Button Id 180 Of oDlgEdit ;
Action (Graba_cot(.t.),oDlgEdit:END())

Redefine Button Id 150 Of oDlgEdit ;
Action (lPara:=.F.,oDlgEdit:END())

Activate Dialog oDlgEdit Centered
oFont1:End()
oFont2:End()

*****
ERROR

Application
===========
Path and name: D:\DESARRO\AITUE\CONSTRUC\INMOBILI.EXE (16 bits)
Size: 378,112 bytes
Max files handles permited: ( SetHandleCount() ) 255
Time from start: 0 hours 0 mins 4 secs
Error ocurred at: 24/12/2006, 18:19:17
Error description: Error BASE/1077 Argument error: .NOT.
Args:
[ 1] = U

Stack Calls
===========
Called from TGET:FWLOSTFOCU(0)
Called from TGET:HANDLEEVEN(0)
Called from DIALOGBOX(0)
Called from TDIALOG:ACTIVATE(0)
Called from ACTUCOT1(274)
Called from (b)ACTUCOT(115)
Called from TBUTTON:CLICK(0)
Called from TBUTTON:HANDLEEVEN(0)
Called from SENDMESSAG(0)
Called from TDIALOG:COMMAND(0)
Called from TDIALOG:HANDLEEVEN(0)
Called from DIALOGBOX(0)
Called from TDIALOG:ACTIVATE(0)
Called from ACTUCOT(123)
Called from (b)TUTOR(58)
Called from TBTNBMP:CLICK(0)
Called from TBTNBMP:LBUTTONUP(0)
Called from TBTNBMP:HANDLEEVEN(0)
Called from WINRUN(0)
Called from TMDIFRAME:ACTIVATE(0)
Called from TUTOR(94)

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

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

Compiler version: Clipper (R) 5.2e Intl. (x216) (1995.02.07)
Windows and MsDos versions: 3.95, 5.0

Windows total applications running: 10
1 explorer.exe
2 IEXPLORE.EXE
3 Mew32.exe
4 C:\WINDOWS\SYSTEM32\USER.EXE
5 D:\DESARRO\AITUE\CONSTRUC\INMOBILI.DLL
6 D:\DESARRO\AITUE\CONSTRUC\INMOBILI.EXE
7 D:\UTIL\WORKSHOP\WORKSHOP.EXE
8 D:\UTIL\WORKSHOP\WORKED3.DLL
9 C:\WINDOWS\SYSTEM32\MMSYSTEM.DLL
10 C:\WINDOWS\SYSTEM32\WOWEXEC.EXE

Variables in use
================
Procedure Type Value
==========================
TGET:FWLOSTFOCU
Param 1: N 1314
Local 1: O Class: TGET
Local 2: U
Local 3: U
TGET:HANDLEEVEN
Param 1: N 2057
Param 2: N 1314
Param 3: N 0
DIALOGBOX
Param 1: N 11327
Param 2: C "Cotizacion"
Param 3: N 1220
Param 4: O Class: TDIALOG
TDIALOG:ACTIVATE
Param 1: U
Param 2: U
Param 3: U
Param 4: L .T.
Param 5: U
Param 6: L .T.
Param 7: U
Param 8: U
Param 9: U
Local 1: O Class: TDIALOG
Local 2: N 1220
Local 3: U
Local 4: U
Local 5: U
Local 6: O Class: TDIALOG
ACTUCOT1
Param 1: L .T.
Local 1: U
Local 2: U
Local 3: O Class: TSAY
Local 4: O Class: TSAY
Local 5: O Class: TSAY
Local 6: O Class: TSAY
Local 7: U
Local 8: O Class: TSAY
Local 9: O Class: TSAY
Local 10: O Class: TSAY
Local 11: U
Local 12: U
Local 13: U
Local 14: U
Local 15: O Class: TSAY
Local 16: U
Local 17: U
Local 18: U
Local 19: U
Local 20: O Class: TSAY
Local 21: O Class: TSAY
Local 22: O Class: TGET
Local 23: O Class: TSAY
Local 24: O Class: TGET
Local 25: O Class: TGET
Local 26: O Class: TSAY
Local 27: O Class: TSAY
Local 28: U
Local 29: U
Local 30: O Class: TSAY
Local 31: O Class: TSAY
Local 32: O Class: TSAY
Local 33: O Class: TSAY
Local 34: U
Local 35: U
Local 36: U
Local 37: U
Local 38: U
Local 39: O Class: TDIALOG
Local 40: O Class: TFONT
Local 41: O Class: TSAY
(b)ACTUCOT
TBUTTON:CLICK
Local 1: O Class: TBUTTON
TBUTTON:HANDLEEVEN
Param 1: N 2048
Param 2: N 0
Param 3: N 0
SENDMESSAG
Param 1: N 1276
Param 2: N 2048
Param 3: N 0
Param 4: N 0
TDIALOG:COMMAND
Param 1: N 201
Param 2: N 1276
Local 1: O Class: TDIALOG
Local 2: N 0
Local 3: N 201
Local 4: N 1276
TDIALOG:HANDLEEVEN
Param 1: N 273
Param 2: N 201
Param 3: N 1276
DIALOGBOX
Param 1: N 11327
Param 2: C "BrowseCotiza"
Param 3: N 1300
Param 4: O Class: TDIALOG
TDIALOG:ACTIVATE
Param 1: U
Param 2: U
Param 3: U
Param 4: L .T.
Param 5: U
Param 6: L .T.
Param 7: U
Param 8: U
Param 9: U
Local 1: O Class: TDIALOG
Local 2: N 1300
Local 3: U
Local 4: U
Local 5: U
Local 6: O Class: TDIALOG
ACTUCOT
Local 1: U
Local 2: U
Local 3: U
Local 4: N 0
Local 5: U
Local 6: U
Local 7: U
Local 8: U
Local 9: U
Local 10: U
Local 11: U
Local 12: U
Local 13: U
Local 14: A Len: 4
Local 15: N 1
Local 16: U
Local 17: O Class: TDIALOG
Local 18: O Class: TCBROWSE
Local 19: U
Local 20: N 1
(b)TUTOR
Param 1: O Class: TBTNBMP
TBTNBMP:CLICK
Local 1: O Class: TBTNBMP
TBTNBMP:LBUTTONUP
Param 1: N 15
Param 2: N 13
Param 3: O Class: TBTNBMP
Local 1: U
Local 2: L .T.
TBTNBMP:HANDLEEVEN
Param 1: N 514
Param 2: N 0
Param 3: N 983053
WINRUN
Param 1: N 1300
TMDIFRAME:ACTIVATE
Param 1: C "MAXIMIZED"
Param 2: U
Param 3: U
Param 4: U
Param 5: U
Param 6: U
Param 7: U
Param 8: B { || ... } CodeBlock
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: B { || ... } CodeBlock
Param 18: U
Param 19: U
Local 1: O Class: TMDIFRAME
Local 2: U
Local 3: U
TUTOR
Local 1: O Class: TBRUSH
Local 2: O Class: TICON
Local 3: U
Local 4: O Class: TCURSOR
Local 5: O Class: TBAR
Local 6: U
Local 7: U
Local 8: N 4286

Linked RDDs
===========
DBF
DBFCDX

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

1: ODBDEP RddName: DBFCDX
==============================
RecNo RecCount BOF EOF
1 1 .F. .F.

Indexes in use TagName
=> COD_PRO+COD_EDI+COD_DEP DEPARTA1
COD_EDI+COD_DEP DEPARTA2
COD_DEP DEPARTA3

Relations in use
1: TO Cod_pro INTO PROYECTO
2: TO Cod_ori INTO ORIDEP
3: TO cod_tip INTO TIPODEP
4: TO Cod_pro+cod_edi INTO EDIFICIO

2: => ODBCOT RddName: DBFCDX
==============================
RecNo RecCount BOF EOF
1 0 .T. .T.

Indexes in use TagName
=> COD_PRO+COD_EDI+COD_DEP DEPARTA1
COD_EDI+COD_DEP DEPARTA2
COD_DEP DEPARTA3

Relations in use

4: MAEUF RddName: DBFCDX
==============================
RecNo RecCount BOF EOF
2 2 .F. .F.

Indexes in use TagName
=> DTOS(CTOD(FEC_DIA)) MAEUF

Relations in use

10: PROYECTO RddName: DBFCDX
==============================
RecNo RecCount BOF EOF
1 2 .F. .F.

Indexes in use TagName
=> COD_PRO PROYEC1
NOM_PRO PROYEC2

Relations in use

11: EDIFICIO RddName: DBFCDX
==============================
RecNo RecCount BOF EOF
1 1 .F. .F.

Indexes in use TagName
=> COD_PRO+COD_EDI EDIFI1
NOM_EDI EDIFI2
COD_EDI EDIFI3

Relations in use
1: TO Cod_pro INTO PROYECTO

12: TIPODEP RddName: DBFCDX
==============================
RecNo RecCount BOF EOF
2 3 .F. .F.

Indexes in use TagName
=> COD_TIP TIPODEP1

Relations in use

13: ORIDEP RddName: DBFCDX
==============================
RecNo RecCount BOF EOF
2 3 .F. .F.

Indexes in use TagName
=> COD_ORI ORIDEP1

Relations in use

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

Memory Analysis
===============
Static memory:
data segment: 64k
Initial size: 29856 bytes (SYMP=688, Stack=8192, Heap=2056)
PRG Stack: 35063 bytes
44 Static variables: 616 bytes

Dynamic memory consume:
Actual Value: 999174 bytes
Highest Value: 1019654 bytes
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Miguel,

La función Calcu_des() devuelve un valor lógico ? Debe hacerlo.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Miguel Rivera
Posts: 117
Joined: Sun Oct 01, 2006 11:39 pm

Antonio te envio la rutina

Post by Miguel Rivera »

Hola Antonio:

Feliz Navidad, te envio la rutina de Calcu_des(), pero el sistema se cae al hacer un click en cualquier get ya mencionado, Id 48, 37, 38, 39

La verdad que estoy super complicado, ya que debo entregar este sistema esta semana, y la opcion mas importante no funciona.

Te agradezco desde ya.

Miguel Rivera


Function Calcu_des(Por_des1)
Des_uf1:=round(Cos_uf1-(cos_uf1*(por_des1/100)),2)
Return(Nil)


*** Funcion que debe devolver el resultado en la Des_uf1, que se muestra con un say:
Redefine Say oDes_uf1 Prompt Des_uf1 Id 49 Of oDlgEdit
Picture "99,999,999.99" Color "w+/b*"

El codigo para este get es el siguiente:

Redefine Get oPor_des1 Var Por_des1 Id 48 Of oDlgEdit Update Picture "9999.99" Color "w+/b*" ;
Valid Calcu_des(Por_des1)


Pero si yo presiono sobre el get de los siguientes, igual se cae, como vez estos solo piden un dato y no tienen un calculo incorporado

Redefine Get oCan_est1 Var Can_est1 Id 37 Of oDlgEdit Update
Picture "9999" Color "w+/b*"
Redefine Get oEst_cub1 Var Est_cub1 Id 38 Of oDlgEdit Update
Picture "9999" Color "w+/b*"


Antonio Linares wrote:Miguel,

La función Calcu_des() devuelve un valor lógico ? Debe hacerlo.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Miguel,

Modifica la función Calcu_des() para que devuelva .T.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Miguel Rivera
Posts: 117
Joined: Sun Oct 01, 2006 11:39 pm

Antonio

Post by Miguel Rivera »

Disculpa, pero no entendi,

Debe devolver un valor .t., pero lo que para mi debe devolver es un valor calculado, para luego mostrarlo con un say. No se hacer lo que tu me indicas viendo la funcion Calcu_des()

****FUNCION

FUNCTION Calcu_des(Por_des1)
Des_uf1:=round(Cos_uf1-(cos_uf1*(por_des1/100)),2)
Return Des_uf1

******* FIN

quote="Antonio Linares"]Miguel,

Modifica la función Calcu_des() para que devuelva .T.[/quote]
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Miguel,

Haz esto:

Redefine Get oPor_des1 Var Por_des1 Id 48 Of oDlgEdit Update Picture "9999.99" Color "w+/b*" ;
Valid ( Calcu_des(Por_des1), .T. )

El error que te ocurre es por no devolver un valor lógico en una validación.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Miguel Rivera
Posts: 117
Joined: Sun Oct 01, 2006 11:39 pm

Antonio

Post by Miguel Rivera »

Antonio:

Desapare el erro, pero la variable Des_uf1 del Id 49, del calculo no actualiza en su valor en el Say. sigue mostrando valor 0


Redefine Get oPor_des1 Var Por_des1 Id 48 Of oDlgEdit Update
Picture "9999.99" Color "w+/b*";
Valid (Calcu_des(Por_des1,Des_uf1),.t.)

Redefine Say oDes_uf1 Prompt Des_uf1 Id 49 Of oDlgEdit Font oFont2
Picture "99,999,999.99" Color "w+/b*"

*** FUNCION DE CALCULO
Function Calcu_des(Por_des1)
Des_uf1:=round(Cos_uf1-(cos_uf1*(por_des1/100)),2)
Return (des_uf1)

Esoy bloqueado, no se porque en este programa no puedo actualizar varibles productos de un calculo

Disculpa tanta molestia.


quote="Antonio Linares"]Miguel,

Haz esto:

Redefine Get oPor_des1 Var Por_des1 Id 48 Of oDlgEdit Update Picture "9999.99" Color "w+/b*" ;
Valid ( Calcu_des(Por_des1), .T. )

El error que te ocurre es por no devolver un valor lógico en una validación.[/quote]
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Miguel,

Tienes que pasar la variable por referencia (@) para que cambie su valor desde dentro de la función:

Redefine Get oPor_des1 Var Por_des1 Id 48 Of oDlgEdit Update
Picture "9999.99" Color "w+/b*";
Valid ( Calcu_des( Por_des1, @Des_uf1 ), oDes_uf1:Refresh(), .T. )
regards, saludos

Antonio Linares
www.fivetechsoft.com
Miguel Rivera
Posts: 117
Joined: Sun Oct 01, 2006 11:39 pm

Post by Miguel Rivera »

Antonio:

Al poner este comando:

Redefine Get oPor_des1 Var Por_des1 Id 48 Of oDlgEdit Update
Picture "9999.99" Color "w+/b*";
Valid ( Calcu_des( Por_des1, @Des_uf1 ), oDes_uf1:Refresh(), .T. )

El Say , con la Variable Des_uf1, no imprime nada

Redefine Say oDes_uf1 Prompt Des_uf1 Id 49 Of oDlgEdit Font oFont2
Picture "99,999,999.99"

Sabiendo que la funcion calcula asi:

FUNCTION Calcu_des(Por_des1,Des_uf1)
Des_uf1:=round(Cos_uf1-(cos_uf1*(por_des1/100)),2)

Return Des_uf1

Disculpa, pero no logro encontrar lo correcto, por mas cambios que haga.

Con el say y el get, solo necesigto que me muestre el valor de la variable Des_uf1, pedo no imprime nada, cual es el error, no lo se.

Por Favor no logro encontrar, la solucion

Miguel R.

Antonio Linares wrote:Miguel,

Tienes que pasar la variable por referencia (@) para que cambie su valor desde dentro de la función:

Redefine Get oPor_des1 Var Por_des1 Id 48 Of oDlgEdit Update
Picture "9999.99" Color "w+/b*";
Valid ( Calcu_des( Por_des1, @Des_uf1 ), oDes_uf1:Refresh(), .T. )
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Pon un MsgInfo() en esta función y asegurate de que lo calculas bien:

FUNCTION Calcu_des(Por_des1,Des_uf1)
Des_uf1:=round(Cos_uf1-(cos_uf1*(por_des1/100)),2)
MsgInfo( Des_uf1 )
Return Des_uf1
regards, saludos

Antonio Linares
www.fivetechsoft.com
Miguel Rivera
Posts: 117
Joined: Sun Oct 01, 2006 11:39 pm

Post by Miguel Rivera »

Antonio:

La variable dentro de la funcion de calculo tiene un valor Distinto y mayor a Cero ( 8.520 ), pero en el say siguiente al get, imprime valor cero.
Este es el Say:
Redefine Say oDes_uf1 Prompt Des_uf1 Id 49 Of oDlgEdit Font oFont2
Picture "99,999,999.99"

Cual es el error, no lo se.

Miguel Rivera

Antonio Linares wrote:Pon un MsgInfo() en esta función y asegurate de que lo calculas bien:

FUNCTION Calcu_des(Por_des1,Des_uf1)
Des_uf1:=round(Cos_uf1-(cos_uf1*(por_des1/100)),2)
MsgInfo( Des_uf1 )
Return Des_uf1
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Miguel,

De momento quita el Picture "99,999,999.99" para hacer pruebas
regards, saludos

Antonio Linares
www.fivetechsoft.com
Miguel Rivera
Posts: 117
Joined: Sun Oct 01, 2006 11:39 pm

Post by Miguel Rivera »

Hola Antonio:

Pude encontrar el error, algo pasaba en la DLL, ya que diseñe la pantalla de nuevo con los _ y funciono OK. Muchas Gracias por tu ayuda y tiempo dedicado.

Desde ya Muchas felicidades para este nuevo año, que la felicidad y la paz reine en tu hogar y seres queridos.

Miguel Rivera.



Antonio Linares wrote:Miguel,

De momento quita el Picture "99,999,999.99" para hacer pruebas
Post Reply