On Tue, 08 Jan 2008, Massimo Renzi (MaticaSrl) wrote:
> Hi Przemek,
> thank you for your reply.
> I would like present you my admiration of your work.
> I don’t know how to say "Thank you for ever" for your great work.
> So...
> My source code is:
> <code>
> ...
> MAN_ARCH(Dir_Work,Dir_Cont,1,10,08)
> ...
> </code>
> <code>
> FUNCTION MAN_ARCH
> *-------------------------------------*
> PARAMETER App_Work,App_Cont,_Flg,_Rig,_Col,V_Main
> PRIVATE Arch_Db,Arch_Nt,Dir2_Work,_Desc
> PRIVATE N_Ar_Ind,_Rig,_Col,R_Per,C_Per,R_Arc,C_Arc
> IF EMPTY(V_Main)
>    V_Main = "S"
> ENDIF
> R_Per = _Rig + 1
> ...
> </code>
> In Debug console "_Rig" have NUL value. 
> "R_Per = _Rig + 1" return 1081 error
> The 2 function are in separate file.
> Now I'll make an easiest small sample.

OK, this is reduce self contain example which illustrates the
problem:
    PROC MAIN()
    PRIVATE p:="1"
    PRIVATE p:="2"
    PRIVATE p   // Clipper does not reset 'p' to NIL and Harbour does
    ? p
    RETURN

As you can see it has nothing to parameters statement. It's the reason
why self contain examples are such important.

I can make it Clipper compatible but IMHO it's bug in Clipper.
To be precise such code is illegal. You can use in Clipper and Harbour
-a compile time switch and compiler will report errors for all such
duplicated declarations. If it's not enough for you to correct
your code and other developers agree that we should be strict Clipper
compatible here then I'll implement it though my personal opinion
is that it's Clipper anomaly and it will be better to document it
as a difference then replicate.

best regards,
Przemek
_______________________________________________
Harbour mailing list
[email protected]
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to