FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour XBrowse: how to load image data instead of image name
Posts: 6984
Joined: Fri Oct 07, 2005 07:07 PM
Re: XBrowse: how to load image data instead of image name
Posted: Tue Nov 03, 2020 09:20 AM

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

Posts: 6984
Joined: Fri Oct 07, 2005 07:07 PM
Re: XBrowse: how to load image data instead of image name
Posted: Tue Nov 03, 2020 09:28 AM
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
Posts: 1487
Joined: Tue Jun 14, 2016 07:51 AM
Re: XBrowse: how to load image data instead of image name
Posted: Tue Nov 03, 2020 09:52 AM


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.




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 :-) :-)
Marc Venken

Using: FWH 23.08 with Harbour

Continue the discussion