Hello all,
Which size can a memo file be that the queries still work performant?
Do you have experiences with large memo files?
May I also extend my question and ask how SQL behaves?
I changed years ago all my image storing to single files.
What is the disadvantage of storing into single files?
Best regards,
Otto
XBrowse: how to load image data instead of image name
Re: XBrowse: how to load image data instead of image name
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
Re: XBrowse: how to load image data instead of image name
Hello Marc,
detached locals
Here is an explanation from MR. RAO.
Thank you, Mr. Rao, for always helping us.
Best regards,
Otto
____________________________________________________________________________
Creating controls in a loop from array is very tricky. It does not work as expected.
Let me show why:
Wrong code:
for n := 1 to 20
@ n * 20, 50 GET aVar[ n ] OF oWnd <clauses>
next n
After this loop the present value of " n " is 21.
When the dialog is activated and controls are to be shown, the value of "n" is 21 and naturally we get runtime error as subscript out of range.
Correct way:
for n := 1 to 20
aGet[ 1 ] := MakeGet( n * 20, 50, aVar, n, oWnd )
next n
ACTIVATE WINDOW ....
//--------------
static function MakeGet( nRow, nCol, aVar, n, oWnd )
local oget
@ nRow, nCol GET oGet VAR aVar[ n ] of oWnd <clauses>
// note this value of "n" remains the same till oGet goes out of scope
// the principle is called "detached locals"
return oGet
detached locals
Here is an explanation from MR. RAO.
Thank you, Mr. Rao, for always helping us.
Best regards,
Otto
____________________________________________________________________________
Creating controls in a loop from array is very tricky. It does not work as expected.
Let me show why:
Wrong code:
for n := 1 to 20
@ n * 20, 50 GET aVar[ n ] OF oWnd <clauses>
next n
After this loop the present value of " n " is 21.
When the dialog is activated and controls are to be shown, the value of "n" is 21 and naturally we get runtime error as subscript out of range.
Correct way:
for n := 1 to 20
aGet[ 1 ] := MakeGet( n * 20, 50, aVar, n, oWnd )
next n
ACTIVATE WINDOW ....
//--------------
static function MakeGet( nRow, nCol, aVar, n, oWnd )
local oget
@ nRow, nCol GET oGet VAR aVar[ n ] of oWnd <clauses>
// note this value of "n" remains the same till oGet goes out of scope
// the principle is called "detached locals"
return oGet
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
- Marc Venken
- Posts: 727
- Joined: Tue Jun 14, 2016 7:51 am
Re: XBrowse: how to load image data instead of image name
Ahh.. So the program executes the loop before we do the activate ? This can explane why i have spend time in order to trap errors and have been making workarounds
for n := 1 to 20
@ n * 20, 50 GET aVar[ n ] OF oWnd <clauses>
next n
After this loop the present value of " n " is 21.
When the dialog is activated and controls are to be shown, the value of "n" is 21 and naturally we get runtime error as subscript out of range.
Marc Venken
Using: FWH 20.08 with Harbour
Using: FWH 20.08 with Harbour