FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index All products support Problema con tccolumn:New
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
Problema con tccolumn:New
Posted: Thu Feb 28, 2008 11:54 AM

Salve,
sto cercando di creare un browse di un array senza utilizzare i comandi ADD COLUMN ma direttamente scrivendo il codice.
Il problema è che creando le colonne così appena eseguo il browse mi appare un errore di array access.

Credo di aver definito male il codice per assegnare le colonne al browser ma non capisco come altro fare. Ho preso spunto da tccolumn.ch.

Qualche idea ?

Questo è un codice di esempio:

aBrwArray:=array(0,2)
aadd(aBrwArray,{"01","Primo"})
aadd(aBrwArray,{"02","Secondo"})

@ 1.5,5 COLUMN BROWSE aObjects[6] OF oWnd SIZE 150, 135
aObjects[6]:SetArray(aBrwArray)

aObjects[6]:AddColumn(TCColumn:New("Num",aObjects[6]:aArray[aObjects[6]:nAt,1],,,,,100))

aObjects[6]:AddColumn(TCColumn:New("Titolo",aObjects[6]:aArray[aObjects[6]:nAt,2],,,,,100))

Best Regards,



Marco Turco

SOFTWARE XP LLP
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: Problema con tccolumn:New
Posted: Thu Feb 28, 2008 04:15 PM

Per favore, prepara un microesempio che mostri il problema e che sia compilabile.

EMG

Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
Problema con tccolumn:New
Posted: Thu Feb 28, 2008 06:12 PM

Ecco un self-contained che mostra il problema.

www.softwarexp.co.uk/beta/test.zip

il problema è sicuramente sulla sintassi che utilizzo per aggiungere le colonne al browse, però mi sono basato sulla conversione comando->codice di tccolumn.ch (vedi cartella include di FWH).

Che ne pensi ?

Best Regards,



Marco Turco

SOFTWARE XP LLP
Posts: 283
Joined: Sat Oct 15, 2005 06:40 AM
Problema con tccolumn:New
Posted: Fri Feb 29, 2008 03:32 PM
Prova così:
    @ 1,2 COLUMN BROWSE aObjects[6] OF oWndChild SIZE 250, 195
    aObjects[6]:cAlias := "ARRAY"
    aObjects[6]:nAt    := 1
    aObjects[6]:AddColumn( TCColumn():New("Num",;
                                          {|| aBrwArray[aObjects[6]:nAt, 1] },;
                                          ,;
                                          ,;
                                          ,;
                                          ,;
                                          100 ))
    aObjects[6]:AddColumn( TCColumn():New("Title",;
                                          {|| aBrwArray[aObjects[6]:nAt, 2] },;
                                          ,;
                                          ,;
                                          ,;
                                          ,;
                                          100 ))
    aObjects[6]:SetArray(aBrwArray)
   oWndChild:SetControl( aObjects[6] )
Ciao, best regards,

Ugo
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
Problema con tccolumn:New
Posted: Fri Feb 29, 2008 05:25 PM

Niente da fare. Il browse appare ma vuoto.

Comunque ho risolto con:

aObjects[6]:AddColumn(TCColumn():New("Num",{|x| ;
If(Pcount()>0, aObjects[6]:aArray[aObjects[6]:nAt, 1] :=x, aObjects[6]:aArray[aObjects[6]:nAt, 1])},,,,,100))

anche se mettendo questo codice in un ciclo for per creare tutte le colonne automaticamente mi appare un errore di array access.

In pratica vorrei fare qualcosa tipo

For i:=1 to 2
aObjects[6]:AddColumn(TCColumn():New("Num",{|x| ;
If(Pcount()>0, aObjects[6]:aArray[aObjects[6]:nAt, i] :=x, aObjects[6]:aArray[aObjects[6]:nAt, i])},,,,,100))

next

Best Regards,



Marco Turco

SOFTWARE XP LLP
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
Problema con tccolumn:New
Posted: Sat Mar 01, 2008 08:25 AM

Ok. Risolto. Grazie.

Best Regards,



Marco Turco

SOFTWARE XP LLP

Continue the discussion