Some more testing...
With this code:
With tmp
.y = 0
tmp = funcx()
With tmp ' Extra with instruction.
Debug .y
Debug tmp.y
End With
End With
Or with this:
With tmp
.y = 0
funcx2(tmp) ' By reference (unfortunately this solution doesn't fit
to my code).
Debug .y
Debug tmp.y
End With
Public Sub funcx2(test as Class1)
test.y = 1
End
Result is what is expected!
I tried to look at the gambas source code to figure out what is
wrong... beats me up.
But maybe the problem is in how archiver or interpreter handles "tmp = ...".
Extra "with" instruction is workaround, but it's little troublesome to
find where it is needed.
And when "tmp = funcx()" is in "if then else" structure, it is very troublesome!
Maybe I need temporarily to get rid of "with" instructions!
But I hope it is easy to fix!
Regards,
Jussi
On Thu, Apr 16, 2009 at 16:17, Jussi Lahtinen <[email protected]> wrote:
> Hi!
> Confirmed on Gambas2 and Gambas3.
>
> Code:
>
> Dim tmp As New Class1
>
> With tmp
> .y = 0
> tmp = funcx()
> Debug .y
> Debug tmp.y
> End With
>
>
> Public Function funcx() As Class1
> Dim test As New Class1
>
> test.y = 1
>
> Return test
> End
>
>
> Output of debug is;
> 0
> 1
>
> I think .y and tmp.y should be same!
>
> Regards,
> Jussi
>
------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Gambas-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gambas-user