[mono-vb] if Iter isnot nothing then generates exception during compile!
Rolf Bjarne Kvinge
rolflists at ya.com
Mon Nov 16 04:28:29 EST 2009
Hi,
You're checking if a structure isnot nothing, which is an error.
MS' VB compiler shows this:
error BC31419: 'IsNot' requires operands that have reference types, but this
operand has the value type (...)
Rolf
> -----Original Message-----
> From: mono-vb-bounces at lists.ximian.com [mailto:mono-vb-
> bounces at lists.ximian.com] On Behalf Of Easy_Rider9999
> Sent: sábado, 14 de noviembre de 2009 21:43
> To: mono-vb at lists.ximian.com
> Subject: [mono-vb] if Iter isnot nothing then generates exception
> during compile!
>
>
> I get the following compile Error:
>
> /home/jhmgbl/Projects/prjLinuxInfo/prjLinuxInfo/frmMain.vb (166,32) :
> Error
> VBNC99999: There was an exception during code generation.
>
> /home/jhmgbl/Projects/prjLinuxInfo/prjLinuxInfo/<MyGenerator> (1,1) :
> Error
> VBNC99999: Unexpected error: There has been an internal error in the
> compiler caused by the line: (166,32)
>
> at vbnc.Is_IsNotExpression.GenerateCodeInternal (vbnc.EmitInfo Info)
> [0x0001e] in
> /media/disk/Downloads/Linux/mono-basic-
> 2.4.2/vbnc/vbnc/source/Expressions/BinaryExpressions/Is_IsNotExpression
> .vb:56
> at vbnc.Expression.GenerateCode (vbnc.EmitInfo Info) [0x000dd] in
> /media/disk/Downloads/Linux/mono-basic-
> 2.4.2/vbnc/vbnc/source/Expressions/Expression.vb:195
>
> Compilation took 00:00:02.8174030
>
>
> The Code of this procedure is:
>
> Private Sub xvinfo
> Dim rIter as TreeIter = rootIter
> Dim Iter, lastRIter as TreeIter
> Dim si as new System.Diagnostics.ProcessStartInfo
> si.CreateNoWindow = true
> si.UseShellExecute = false
> si.RedirectStandardOutput = true
> si.FileName = "xvinfo"
> Dim p as process =
> system.diagnostics.process.start(si)
> Dim s as IO.StreamReader = p.StandardOutput
> Dim l as String
> Dim lastSpaces as Integer
> p.start
> Do
> l = s.ReadLine
> if l is nothing then exit Do
> Dim spaces as Integer = 0
> For I as Integer = 2 to 50 Step 2
> if l.startsWith (New String(" "c,I))
then
> spaces = I
> else
> exit For
> end if
> next I
> Dim Diff as Integer = spaces - lastspaces
> if Diff = 2 then
> lastSpaces = spaces
> if Iter isnot nothing then
> lastRIter = RIter
> rIter = Iter
> end if
>
> elseif Diff = -2 then
> rIter =
> Store.Getiter(riter,Store.GetPath(riter).up)
> if rIter is nothing then rIter =
Iter
> end if
> iter = store.AppendValues(RIter,l)
>
> Loop
> p.waitforexit
>
>
> End Sub
>
>
> Regard Hans
> --
> View this message in context: http://old.nabble.com/if-Iter-isnot-
> nothing-then---generates-exception-during-compile%21-
> tp26353710p26353710.html
> Sent from the Mono - VB mailing list archive at Nabble.com.
>
> _______________________________________________
> Mono-vb mailing list
> Mono-vb at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-vb
More information about the Mono-vb
mailing list