FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour A strange Error
Posts: 603
Joined: Sun May 04, 2008 08:44 PM

A strange Error

Posted: Fri Feb 04, 2011 02:31 AM
Hi Guys,

I can't use inside FOR/NEXT "REDEFINE GET ...."

It´s a sample of error:

Code (fw): Select all Collapse
Function Test()
Local oDlg
Local aVar := {"1","2","3"}
Local aGet := Array( 3 )
Local nNum
Define Dialog oDlg
For  nNum := 1 To 3
 nID := 4000 + nNum // I´ve IDs(4001,4002,4003) in resource from pelles ( all Gets ).
 Redefine Get aGet[nNum] Var aVar[nNum] ID nID Of oDlg
Next nNum
Activate Dialog oDlg
Return Nil


It´s compile, more Var was lost. no display correcty values.

Code (fw): Select all Collapse
Function Test()
Local oDlg
Local aVar := {"1","2","3"}
Local aGet := Array( 3 )
Local nNum
Define Dialog oDlg
For  nNum := 1 To 2
 nID := 4000 + nNum // I´ve IDs(4001,4002,4003) in resource from pelles ( all Gets ).
 Redefine Get aGet[nNum] Var aVar[nNum] ID nID Of oDlg // it´s wrong vars vaues is incorrect.
Next nNum
Redefine Get aGet[3] Var aVar[3] ID 4003 Of oDlg // it´s ok
Activate Dialog oDlg
Return Nil


My Solucion was do without use For/Next.

:-) ( confuse,,, logic is correct,,, I´cant understand why... )
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM

Re: A strange Error

Posted: Fri Feb 04, 2011 03:04 AM
Hello

Try

Code (fw): Select all Collapse
#include "fivewin.ch"

Function Main()
   Local oDlg
   Local aVar := {"1","2","3"}
   Local aGet := Array( 3 )
   Local nNum, uVar := 1
   Define Dialog oDlg
   For  nNum := 1 To 3
    @ nNum * 10, 10  Get aGet[nNum] Var uVar Of oDlg pixel size 25, 10
    aGet[nNum]:bSetGet = BuildSetGet( aVar, nNum )
    aGet[nNum]:oGet:Block = BuildSetGet( aVar, nNum )
   Next nNum
   Activate Dialog oDlg
Return Nil

function BuildSetGet( aVar, n )
return bSETGET( aVar[ n ] )

Continue the discussion