On Mon, 03 Nov 2008, Szak�ts Viktor wrote:

Hi Viktor,

>> ? WA1->FIELD1 >= WA2->FIELD2
>> WA1 uses CP1, WA2 uses CP2
>> Please define RDD CP in this case?
> In this case there is no RDD CP context involved in my
> understanding, this is executed in the caller CP context.

And what if it's FOR or WHILE clause of some RDD commands
like INDEX ON ..., COUNT or SET FILTER?

> Another more sophisticated solution could be that first
> WA1->FIELD1 is converted to caller CP from WA1 CP, then
> WA2->FIELD2 is also converted to caller CP from WA2 CP,
> and then comparison is made using the caller CP context.

How do you want to find such information in more complicated expressions
like:
   WA1->(UDF1()) >= WA2->(UDF2())

FUNC UDF1
   return WA1->FIELD1+WA2->FIELD2
FUNC UDF2
   ...

???

> Back to prev mail for sec, can shade some light specifically
> this issue:
> Why can we do this now:
> ---
> hb_setcodepage( "CP_ZZ" )
> dbUseArea( ..., "CP_XX" )
> dbUseArea( ..., "CP_XX" )
> ---
> But not this:
> ---
> hb_setcodepage( "CP_ZZ" )
> hb_rdddefaultcodepage( "CP_XX" )
> dbUseArea( ... )
> dbUseArea( ... )
> ---

hb_rdddefaultcodepage( "CP_XX" )

Will enable translations for all open WAs even if user does not need any
translation and want to open table in raw form, f.e. to extract binary
so it will break existing code. The old problems will still exists and we
will have new one. User will have to add to existing code saving and
restoring hb_rdddefaultcodepage() to make it structural safe.

best regards,
Przemek
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to