Page 1 of 1

Crash with 23.04 GRADIENTFILL()

Posted: Sun Jul 23, 2023 1:57 am
by Jimmy
hi,

Code: Select all | Expand

   Error description: Error BASE/1068  Argument error: array access
   Args:
     [   1] = U   
     [   2] = N   2

Stack Calls
===========
   Called from: .\source\function\IMGTXTIO.PRG => GRADIENTFILL( 3132 )
   Called from: .\DUALGRID.PRG => TEXPLORER:DOMYCOMBO( 5930 )
   Called from: .\DUALGRID.PRG => (b)MAIN( 916 )
Image
have made a Copy of "old" Source and it work again

Re: Crash with 23.04 GRADIENTFILL()

Posted: Sun Jul 23, 2023 3:54 am
by Jimmy
hi,

ok got it

old Version (which work this Way )

Code: Select all | Expand

LOCAL aGrad         := { ;
                    { .5, BFcolor, BGcolor }, ;
                    { .6, BGcolor, BFcolor }, ;
                    { .1, BFcolor, BGcolor }, ;
                    }
must be in new Version

Code: Select all | Expand

local aGrad := ;
      { ;
         { 0.5,    RGB( 140,  56,   6 ),  RGB( 237, 234, 109 )   }, ;
         { 0.5,    RGB( 237, 234, 109 ),  RGB(  85,  62,  84 )   }  ;
      }
a.) last Element no "Komma"
b.) does "slow down" using 3 Elemets

Re: Crash with 23.04 GRADIENTFILL()

Posted: Sun Jul 23, 2023 3:07 pm
by Rick Lipkin
Jimmy .. Here are some gradient code I use to make make things simple ... Rick

Code: Select all | Expand

//-------------------
Func GreyButtonGrad()

// 2010 grey button skin

Local bGrad

bGrad := { | lInvert | If( ! lInvert, ;
         { { 1, nRGB( 255, 255, 255 ), nRGB( 207, 207, 207 ) } }, ;
         { { 1/3, nRGB( 255, 253, 222 ), nRGB( 255, 231, 151 ) }, ;
         { 2/3, nRGB( 255, 215,  84 ), nRGB( 255, 233, 162 ) } } ) }

Return( bGrad )

//---------------------------
Func BlueGreenGrad()

Local xGrad4 :=  {{ 1.00,14671839,   7419904 }, { 1.00,7419904,  14671839 }}   // med blue
SetDlgGradient( xGrad4 )

Return(nil)

//---------------------
Func SolidGreenBlue()

*SetDlgGradient( { { 0.01,8421376,8421376 },{ 0.01,8421376,8421376 } })

SetDlgGradient({ { 0.01,9994298,9994298 },{ 0.01,9994298,9994298 } })
Return(nil)


//-------------
Func SolidDarkBlue()

SetDlgGradient( { { 0.50,4720905,4720905 },{ 0.50,4720905,4720905 } })
Return(nil)

//-------------------
Func SolidBlue()

SetDlgGradient( { { 0.01,16711680,16711680 },{ 0.01,16711680,16711680 } })
Return(nil)

//------------------
Func DarkBlueGrad()

*SetDlgGradient( { { 0.87,8388608,11100165 },{ 0.87,11100165,8388608 } } )
*SetDlgGradient( { { 0.01,nRgb(4,53,107),11100165 },{ 0.01,11100165,nRgb(4,53,107) } } )
*SetDlgGradient( { { .50, nRGB( 4, 53, 107 ), nRGB( 4, 53, 107 ) } } )

*SetDlgGradient({ { 1.00,8388608,986895   },{ 1.00,986895,8388608   } })
SetDlgGradient({ { 0.0,8388608,13619151 },{ 0.0,13619151,8388608 } })
Return(nil)


//--------------
Func LightGreenGrad()

SetDlgGradient( { { .50, nRGB(210,235,216), nRGB( 255, 255, 255 ) } } )

Return(nil)

//------------------
Func LightBlueGrad()

SetDlgGradient( { { .50, nRGB( 201, 217, 237 ), nRGB( 231, 242, 255 ) } } )

Return(nil)

//------------------
Func LightGreyGrad()

SetDlgGradient( { { .50, nRGB( 216, 216, 216 ), nRGB( 255, 255, 255 ) } } )

Return(nil)

//-----------------
Func StandardGrad()

SetDlgGradient( { { .50, nRGB( 236, 233, 216 ), nRGB( 255, 255, 255 ) } } )

Return(nil)

//--------------------
Func DarkGreyGrad()

SetDlgGradient({{ 0.90, 14671839, 4144959  },{ 0.1, 4144959, 14671839  }})          // .80
*SetDlgGradient( { { 0.87, 16777215, 11513775 },{ 0.87,11513775, 16777215 }})

Return(nil)

//------------------------------------
Func SolidWhite()

SetDlgGradient( { { 0.01,16777215,16777215 },{ 0.01,16777215,16777215 } })

Return(nil)

//--------------------
Func SolidGrey()

SetDlgGradient( { { .50, nRGB( 233, 233, 233 ), nRGB( 233, 233, 233 ) } } )

Return(nil)

//--------------------
Func SolidChoral()

*SetDlgGradient( { { .50, nRGB( 171, 129, 151 ), nRGB( 171, 129, 151 ) } } )  // choral
SetDlgGradient(aGrad := { { 0.01,8388736,8388736 },{ 0.01,8388736,8388736 } })

Return(nil)

//-----------------
Func LightYellow()

SetDlgGradient( { { 0.01,8440801,16777215 },{ 0.75,16777215,8440801 } })

Return(nil)

//-------------------
Func GreenBlueGrad()

SetDlgGradient( { { .50, nRGB( 192, 192, 192 ), nRGB( 45, 121, 147 ) } } )

Return(nil)

 

Re: Crash with 23.04 GRADIENTFILL()

Posted: Mon Jul 24, 2023 12:28 am
by nageswaragunupudi
a.) last Element no "Komma"
Old or new, do not end with Comma ("'," ). Because in that case, the last element of the array is NIL. The function does not expect that any element is NIL.

Please ensure that all fractions (the first element in each sub-array) should aggregate to 1.0. If not we may not get the intended effect.
b.) does "slow down" using 3 Elemets
No.
We can have any number or slices.

Re: Crash with 23.04 GRADIENTFILL()

Posted: Mon Jul 24, 2023 2:05 am
by Jimmy
hi Rick.
Rick Lipkin wrote:Here are some gradient code I use to make make things simple
thx for Answer

my User can use there own Back- / Fore-ground Color so Gradient was made from these Color

Re: Crash with 23.04 GRADIENTFILL()

Posted: Mon Jul 24, 2023 2:07 am
by Jimmy
hi,

thx for Answer,
nageswaragunupudi wrote:We can have any number or slices.
ok, i have try it again

can it have to do with "Ownerdraw" which i use for Combobox :?: