Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Why does <OBJECT>.CHILD_GET() appends "�" to value returned? FYI:alltrim() fixes this

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Why does <OBJECT>.CHILD_GET() appends "�" to value returned? FYI:alltrim() fixes this

    Unless you use the alltrim() function with <object>.child_get(), the value returned causes a problem with code.
    (The line of code containing <object>.child_get() runs, but doesn't return exactly what is expected.)

    If you don't enclose the returned value in alltrim(), the "" character is always appended to the value returned.
    ie: if the child table is named "inv_det" the value returned is "inv_det�" instead......

    Code:
    dim vp_Table as P = parentform.table_get()
    dim vc_ChildX as C = vp_Table.child_get() ' [COLOR=#ff0000]-does not work (later in code) due to "�" character appended to end of string returned....[/COLOR]
    dim vc_Child as C = alltrim(vp_Table.child_get()) ' - [COLOR=#ff0000]Alltrim() fixes the problem[/COLOR] & removes this extra (erroneous?) character...
    Why is � added in the first place, and what is it's purpose / value? (what does � actually mean & do) ~ it's the "new paragraph" symbol, right? ~And could this be a bug in the <object>.child_get() method?
    Robert T. ~ "I enjoy manipulating data... just not my data."
    It's all about the "framework." (I suppose an "a5-induced" hard drive crash is now in order?)
    RELOADED: My current posting activity here merely represents a "Momentary Lapse Of Reason."

    #2
    Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

    Work fine in v8

    Comment


      #3
      Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

      .child_get() without the optional numeric parameter returns a list of the child tables for the parent specified in the table pointer. Thus the crlf() after each entry in the list.

      example.gif
      Last edited by Stan Mathews; 02-28-2012, 11:42 AM.
      There can be only one.

      Comment


        #4
        Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

        Originally posted by G Gabriel View Post
        Work fine in v8
        Really????

        Try adding this code to an OnPush button event on the Alpha Sports Items form....
        (I know I'm using table methods on a form, which isn't suggested, but regardless this issue would happen anywhere else too.)

        Code:
        'dim vn_price as N = price.value ' - not needed for this example
        'dim vc_price as C = price.text ' - not needed for this example
        
        dim vp_Table as P = parentform.table_get()
        dim vc_Child as C = alltrim(vp_Table.child_get()) ' - Alltrim() needed to fix...
        dim vc_ChildXX as C = vp_Table.child_get() ' -� PROBLEM HERE, WITH PARAGRAPH SYMBOL....
         ui_msg_box("",vc_child + "" + vc_ChildXX)
         ui_msg_box("",vc_childXX + "" + vc_Child)
        I think you will see how the first ui_msg_box places everything on one line, and the second one places both values on different lines.
        Unless you trim the second one, adding the following code (for example) fails:


        add this code:
        Code:
        'Not adding alltrim() around <table>.child_get() causes pointer issues as follows:......
        debug(1) ' - step through the code now.....
        dim vp_Child as P = table.get(vc_Child) ' WORKS
        dim vp_ChildBAD as P = table.get(vc_ChildXX) ' - this fails immediately....
        
        ' -THIS CODE WORKS AS EXPECTED:
        dim vp_SameChild as P = obj("Items:Tables:"+vc_Child)
        ui_msg_box("OBJ- ",vp_SameChild.DESCRIPTION)
        
        ' -CODE DOESN'T IMMEDIATELY FAIL, BUT DOESN'T RETRIEVE POINTER AS EXPECTED.
        dim vp_SameChildBAD as P = obj("Items:Tables:"+vc_ChildXX)
        ui_msg_box("Gonna Fail: ",vp_SameChildBAD.DESCRIPTION) ' - .........which (in turn) causes this line to fail!
        debug(0)
        Last edited by SNusa; 02-28-2012, 12:33 PM.
        Robert T. ~ "I enjoy manipulating data... just not my data."
        It's all about the "framework." (I suppose an "a5-induced" hard drive crash is now in order?)
        RELOADED: My current posting activity here merely represents a "Momentary Lapse Of Reason."

        Comment


          #5
          Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

          These behave the same.

          Code:
          dim vn_price as N = price.value
          dim vc_price as C = price.text
          dim vp_Table as P = parentform.table_get()
          dim vc_Child as C = alltrim(vp_Table.child_get(1))
          dim vc_ChildXX as C = vp_Table.child_get(1) ' 
           ui_msg_box("",vc_child + "" + vc_ChildXX)
           ui_msg_box("",vc_childXX + "" + vc_Child)
          There can be only one.

          Comment


            #6
            Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

            Originally posted by Stan Mathews View Post
            These behave the same.

            Code:
            dim vn_price as N = price.value
            dim vc_price as C = price.text
            dim vp_Table as P = parentform.table_get()
            dim vc_Child as C = alltrim(vp_Table.child_get(1))
            dim vc_ChildXX as C = vp_Table.child_get([B][COLOR="#0000CD"]1[/COLOR][/B]) ' 
             ui_msg_box("",vc_child + "" + vc_ChildXX)
             ui_msg_box("",vc_childXX + "" + vc_Child)
            The optional parameter makes it work as expected in v.10 too.
            I presume you experienced the same issues/problems I encountered without using the optional parameter?

            "The power of [1]" ~ Apparently, the optional parameter has unexpected implications/effects here....
            Last edited by SNusa; 02-28-2012, 12:50 PM.
            Robert T. ~ "I enjoy manipulating data... just not my data."
            It's all about the "framework." (I suppose an "a5-induced" hard drive crash is now in order?)
            RELOADED: My current posting activity here merely represents a "Momentary Lapse Of Reason."

            Comment


              #7
              Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

              Yeh..really..it works fine in v8.

              Comment


                #8
                Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

                Originally posted by G Gabriel View Post
                Yeh..really..it works fine in v8.
                But what happens in v.8 when you don't include the optional parameter value [1]?
                Robert T. ~ "I enjoy manipulating data... just not my data."
                It's all about the "framework." (I suppose an "a5-induced" hard drive crash is now in order?)
                RELOADED: My current posting activity here merely represents a "Momentary Lapse Of Reason."

                Comment


                  #9
                  Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

                  I didn't.
                  I just copied your code as is.

                  Comment


                    #10
                    Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

                    What exactly are you trying to do?
                    Are you trying to get the name of a child table?
                    What are you going to do with it?

                    Comment


                      #11
                      Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

                      Originally posted by G Gabriel View Post
                      What exactly are you trying to do?
                      Are you trying to get the name of a child table?
                      What are you going to do with it?
                      Just learning abstract object referencing and pointer manipulation......
                      You made a subtle change to my code as follows:

                      dim vc_ChildXX as C = vp_Table.child_get() ' ~ my original code which caused the � problem.
                      dim vc_ChildXX as C = vp_Table.child_get(1) ' ~ your code [with optional parameter] which resolved the issue.

                      Apparently, both :

                      dim vc_ChildXX as C = alltrim(vp_Table.child_get()) ' /or use
                      dim vc_ChildXX as C = vp_Table.child_get(1)


                      return the same results, whereas:

                      dim vc_ChildXX as C = vp_Table.child_get() ' without the optional [N] parementer


                      fails.

                      ~I'm just curious as to whether this happens in v8 too...
                      Last edited by SNusa; 02-28-2012, 01:22 PM.
                      Robert T. ~ "I enjoy manipulating data... just not my data."
                      It's all about the "framework." (I suppose an "a5-induced" hard drive crash is now in order?)
                      RELOADED: My current posting activity here merely represents a "Momentary Lapse Of Reason."

                      Comment


                        #12
                        Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

                        Originally posted by SNusa View Post
                        You made a subtle change to my code as follows:

                        dim vc_ChildXX as C = vp_Table.child_get() ' ~ my original code which caused the � problem.
                        dim vc_ChildXX as C = vp_Table.child_get(1) ' ~ your code which resolved the issue.
                        When did I do that?!

                        Comment


                          #13
                          Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

                          The optional parameter makes it work as expected in v.10 too.
                          The optional parameter makes the method return one table name. Without it you get a list. Not sure what you expected. With a single child set it probably shouldn't include a crlf() if you don't use the parameter.

                          I presume you experienced the same issues/problems I encountered
                          Nope, never used the method until your question arose. Learned from it and moved on.
                          There can be only one.

                          Comment


                            #14
                            Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

                            Post removed by user: ~ "Suffering from POSTITIS"
                            Last edited by SNusa; 02-28-2012, 02:33 PM.
                            Robert T. ~ "I enjoy manipulating data... just not my data."
                            It's all about the "framework." (I suppose an "a5-induced" hard drive crash is now in order?)
                            RELOADED: My current posting activity here merely represents a "Momentary Lapse Of Reason."

                            Comment


                              #15
                              Re: Why does &lt;OBJECT&gt;.CHILD_GET() appends &quot;�&quot; to value returned? FYI:alltrim() fixes

                              Hello!
                              Post #5?
                              What's next? You gonna say I am the real midnight Boston Strangler?!

                              Comment

                              Working...
                              X