Welcome, Guest
Username: Password: Remember me
Visual Objects

Please use this forum to post questions about Visual Objects and Vulcan.NET
  • Page:
  • 1

TOPIC:

System.Diagnostics.Debug.WriteLine(c) 28 Nov 2016 08:54 #680

  • ArneOrtlinghaus
  • ArneOrtlinghaus's Avatar
  • Topic Author


  • Posts: 337
  • Hello,

    I have the line
    System.Diagnostics.Debug.WriteLine(c)
    in my program together with
    #using System.Diagnostics
    This compiles under Vulcan.

    I get the following error:
    XS9002 Parser: unexpected input '.'
    I tried substituing the '.' with ':' but I could not find a possibility to geth compiled this code.

    Arne

    Please Log in or Create an account to join the conversation.

    System.Diagnostics.Debug.WriteLine(c) 28 Nov 2016 09:21 #682

    • FFF
    • FFF's Avatar


  • Posts: 1393
  • Strange, i get:
    Compilation failed (1 error)
    error XS0234: The type or namespace name 'Debug' does not exist in the namespace 'System.Diagnostics' (are you missing an assembly reference?)
    Regards
    Karl (X# 2.14.0.4; Xide 1.33; W8.1/64 German)

    Please Log in or Create an account to join the conversation.

    System.Diagnostics.Debug.WriteLine(c) 28 Nov 2016 09:30 #683

    • Otto
    • Otto's Avatar


  • Posts: 174
  • Hi Arne,

    I tried to reproduce your message, but I can't, sorry
    Karl, you need a reference to System
    #USING System.Diagnostics
    
    BEGIN NAMESPACE XSharpClassLibrary1
    	CLASS Class1
    	CONSTRUCTOR()
    		RETURN		
            METHOD MyMethod() AS VOID STRICT
               LOCAL c AS STRING
               c := "test"
               System.Diagnostics.Debug.WriteLine(c)
            RETURN
     	END CLASS
    END NAMESPACE

    Please Log in or Create an account to join the conversation.

    System.Diagnostics.Debug.WriteLine(c) 28 Nov 2016 09:39 #685

    • Frank Maraite
    • Frank Maraite's Avatar


  • Posts: 176
  • Arne, Karl,

    Vulcan includes System by default. X# does, as I know, include nothing in the reference list. I had to all those missing references in my old Vulcan code too.

    Frank

    Please Log in or Create an account to join the conversation.

    System.Diagnostics.Debug.WriteLine(c) 28 Nov 2016 09:40 #686

    • Chris
    • Chris's Avatar


  • Posts: 3759
  • Hi Arne & guys,

    This looks like a problem with a conjunction of the DEBUG symbol that is automatically defined when compiling in debug mode and the /vo8 compiler option which makes defines non case sensitive. I think we'll need to modify a bit the way the preprocessor works, will log a report about this. In the meantime, please add a @@ (which tells the preprocesor not to touch the word that follows) before Debug, as in:

    System.Diagnostics.@@Debug.WriteLine(c)

    or

    @@Debug.WriteLine(c)

    Chris
    XSharp Development Team
    chris(at)xsharp.eu

    Please Log in or Create an account to join the conversation.

    System.Diagnostics.Debug.WriteLine(c) 28 Nov 2016 09:48 #687

    • ArneOrtlinghaus
    • ArneOrtlinghaus's Avatar
    • Topic Author


  • Posts: 337
  • Thanks,
    this works.

    Arne

    Please Log in or Create an account to join the conversation.

    System.Diagnostics.Debug.WriteLine(c) 28 Nov 2016 10:03 #689

    • Frank Maraite
    • Frank Maraite's Avatar


  • Posts: 176
  • Hey, that's why I like case sensivity.

    Frank

    Please Log in or Create an account to join the conversation.

    System.Diagnostics.Debug.WriteLine(c) 28 Nov 2016 10:25 #691

    • Chris
    • Chris's Avatar


  • Posts: 3759
  • Hi Frank,

    > Hey, that's why I like case sensivity.

    In general I like it, too, but I hate it that you can define (in c# for example) identifiers with the same name, different case. It is so easy for example to define both a oXml and a oXML local in the same method and then accidentally use one instead of the other..

    Chris
    XSharp Development Team
    chris(at)xsharp.eu

    Please Log in or Create an account to join the conversation.

    System.Diagnostics.Debug.WriteLine(c) 28 Nov 2016 10:36 #692

    • Frank Maraite
    • Frank Maraite's Avatar


  • Posts: 176
  • Chris,

    just tested it. You're right, this is true for C#, but not for Vulcan. In Vulcan case sensivity was only applied to member and type names, not to LOCALs. What a mess.

    But: your test's would fail for this case. And in small methods you should see it directly :-).

    Frank

    Please Log in or Create an account to join the conversation.

    System.Diagnostics.Debug.WriteLine(c) 28 Nov 2016 15:14 #696

    • robert
    • robert's Avatar


  • Posts: 3293
  • Arne,

    This is fixed in the next build.

    Robert
    XSharp Development Team
    The Netherlands

    Please Log in or Create an account to join the conversation.

    • Page:
    • 1