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

How doe you get around 1024 character limit for xdialog?

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

    How doe you get around 1024 character limit for xdialog?

    The msgbox() and ui_msg_box() function seem to get around the 1024 character limit that xdialog has. How and how can I get text > 1024 characters into an xdialog?
    Mike W
    __________________________
    "I rebel in at least small things to express to the world that I have not completely surrendered"

    #2
    Re: How doe you get around 1024 character limit for xdialog?

    Hi Mike,

    XDialog has no limit on character size for the dialog body or event code. I'm not sure about the title, but I would doubt even that.

    However, there are a few functions, e.g CHRTRAN() (at least in version 7 and earlier, may be later too) that would not work on strings beyond 1024 in length. However, STRTRAN() has no such limits and never did.

    So, if you look at the code that is generated, you want to be sure of what functions you are using and their limits.

    Also, you haven't clarified if you meant 1024 limit in a particular object type, e.g text box, or some other thing like static text, dynamic text, help text for an object etc.

    But as far as I know there are no limits with 1 exception. When using ListView objects (which actually use an active X control that Alpha has), there is a limit for a column text to be 1024 (or maybe 255) that causes hangs in some cases if exceeded. I normally just take the left 255 characters as it is not usually important to see the rest in this view. This is not a limitation of the XDialog as much as it is a limitation of the Listview objects.
    Regards,

    Ira J. Perlow
    Computer Systems Design


    CSDA A5 Products
    New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
    CSDA Barcode Functions

    CSDA Code Utility
    CSDA Screen Capture


    Comment


      #3
      Re: How doe you get around 1024 character limit for xdialog?

      Ira,
      The example below run in IW will show the text in the msgbox() but will not in the ui_dlg_box(). When you remove the last "word" (XXXXXXX), it will show in both. There must be a variable size or text limit for ui_dlg_box() not in msgbox(). Right?

      Code:
      dim vT as C
      vT = <<%a%
      Assuming you have done the impatient grasshopper thing and already looked around, 
      you realized you had to put in song data before you could make the Set List Creator 
      work for you, now you are ready to begin. 
      
      This form holds two "Browse Objects".  The one on the left displays the list of songs 
      you'll select from when designing your set lists.  The one on the right is a "Tabbed 
      Object" that has 4 tabs, one for each of the four sets.  Click on a the tab for the particular 
      set number you would like to build to make that set active  giving it focus and begin 
      filling that set with your song choices by double-clicking on songs from the left-hand
      Browse. You'll notice that each song selected will result in the song appearing in the 
      Set list, and disappear from the Song list.  Makes life a lot easier when you're not 
      looking at songs you've already used. Of course, if you like to repeat a song or songs, 
      you can just put multiple instances of it in your Songs table. But who, besides new bands suck.
      
      XXXXXXXXXX 
      
      %a%
      
      msgbox(vT)
      
      dim z1 as C
      dim z3 as C
      dim vdlgF as C
      
      z1 = <<%dg1%
      {lf};
      {region};%dg1%
      
      z3 = <<%dg3%
      ;{lf}
      {endregion};
      {line=1,0};
      {region2}
      {endregion2};%dg3%
      
      vdlgF = z1 + (""+vT) + z3
      ui_dlg_box("Title",vdlgF)
      Mike W
      __________________________
      "I rebel in at least small things to express to the world that I have not completely surrendered"

      Comment


        #4
        Re: How doe you get around 1024 character limit for xdialog?

        It may be something else altogether Mike as I can sometimes get the dialog to work with many more characters....and then without doing anything different the dialog box will become so small that only a little more than the red X to close it appears (luckily!).
        Mike
        __________________________________________
        It is only when we forget all our learning that we begin to know.
        It's not what you look at that matters, it's what you see.
        Henry David Thoreau
        __________________________________________



        Comment


          #5
          Re: How doe you get around 1024 character limit for xdialog?

          Hi Mike (or is that Mike?)

          Anyway, UI_MSG_BOX() is the underlying function used by MSGBOX(), which is just a function wrapper. So that is the root function, and not a function I'd recommend personally, as it does not allow timer events of other dialog boxes properly to operate. UI_MSG_BOX() is one of the earliest and most primitive ui commands, written in really old code that probably has the least versatility.

          But both display the data properly for me. So my question is whether the displayed text has any CRLF()'s in it or is it just the way the message board shows it? Also what version and release # are you using.

          Also, there are slight differences between executing the code with the;
          1. lightning bolt tool button,
          2. Interactive, Run selected text menu choice,
          3. and pressing enter on a line of the interactive window.
          Best to put the code in a function and try it there, and tell us your results.
          Regards,

          Ira J. Perlow
          Computer Systems Design


          CSDA A5 Products
          New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
          CSDA Barcode Functions

          CSDA Code Utility
          CSDA Screen Capture


          Comment


            #6
            Re: How doe you get around 1024 character limit for xdialog?

            Mike, good thought with the complexity of xdialog, but make it as simple as possible as see it be the same. There is a word/character limit where it works and does not work. It does not work with the XXX in and does when gone in my hands in this example :

            Code:
            ui_dlg_box("Title",<<%dlg%
            Assuming you have done the impatient grasshopper thing and 
            already looked around, you realized you had to put in song 
            data before you could make the Set List Creator work for you, 
            now you are ready to begin. 
            
            This form holds two "Browse Objects".  The one on the left 
            displays the list of songs you'll select from when designing 
            your set lists.  The one on the right is a "Tabbed Object" 
            that has 4 tabs, one for each of the four sets.  Click on a
            the tab for the particular set number you would like to build 
            to make that set active  giving it focus and begin filling 
            that set with your song choices by double-clicking on songs 
            from the left-hand Browse. You'll notice that each song selected 
            will result in the song appearing in the Set list, and disappear 
            from the Song list.  Makes life a lot easier when you're not 
            looking at songs you've already used. Of course, if you like 
            to repeat a song or songs, you can just put multiple instances 
            of it in your Songs table. But who, knows better. 
            
            XXXXXXXXXXXX
            %dlg%)
            Mike W
            __________________________
            "I rebel in at least small things to express to the world that I have not completely surrendered"

            Comment


              #7
              Re: How doe you get around 1024 character limit for xdialog?

              Ira,
              Thanks for the nudge. It is a version 7, and at least version 8 issue through the patches that I have. The v7 and early version 8 express this problem ( I don't have later patches of v8). The v9 does not have this problem in the latest patch I have, 1744:3207. I am guilty of posting this in the wrong forum. Sorry! Thanks for you help.. although my problem has been answered, it is not solved as the application under question is not in v9.
              Mike W
              __________________________
              "I rebel in at least small things to express to the world that I have not completely surrendered"

              Comment


                #8
                Re: How doe you get around 1024 character limit for xdialog?

                Hi Mike & Mike,

                In v7 etc, the problem seems to be related to the 1024 limit, although it seems to restart with each new Xdialog object or ; semicolon. Just try it with the ending looking like
                of it in your Songs table. But who, knows better.

                ;XXXXXXXXXXXX
                %dlg%)
                or
                of it in your Songs table. But who, knows better.
                ()
                XXXXXXXXXXXX
                %dlg%)
                and it should work.
                Regards,

                Ira J. Perlow
                Computer Systems Design


                CSDA A5 Products
                New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
                CSDA Barcode Functions

                CSDA Code Utility
                CSDA Screen Capture


                Comment


                  #9
                  Re: How doe you get around 1024 character limit for xdialog?

                  I remember running into this before when I built a generic replacement to use instead of ui_msg_box(). (The replacement displays faster and gives me more options for font size and type, wrap width, and background color.)

                  As Ira said, "the problem seems to be related to the 1024 limit, although it seems to restart with each new Xdialog object or ; semicolon."

                  The limit of 1024 applies to text entered directly into the xdialog. However, if the text is displayed using a {text=} format the number of characters seems to be unlimited. The bad news about that, as far as I'm concerned anyway, is that it is very difficult (at best!) to "genericize" a {text=} command because you can't tell how many lines will be needed to display the whole thing for various input text and font types.

                  Here's an example of 4 different situations:
                  (1) using {text=} to display about 2400 characters.
                  (2) attempting to display those same 2400 characters by putting them directly into the body of the xdialog. WARNING - hit ESC to close the dialog because the buttons won't work even if you scroll over to them.
                  (3) displaying only 1024 characters in the body of the xdialog.
                  (4) displaying two sets of 1024 characters in the body of the xdialog.
                  Code:
                  '100 char string.
                  msg_init = "A very long text string that repeats a whole bunch a lot just to get a bunch of text in a string.   "
                  msg = ""
                  FOR qx = 1 to 24
                   *concat( msg, msg_init )
                  NEXT
                  msg = msg + " THE END"
                   
                  dlg_text = <<%dlg%
                  {wrap=93}
                  {text=93,25:msg};
                  {line=1,0};
                  <*15OK>
                  %dlg%
                   
                  dlg_result = ui_dlg_box( "USING {text=}", dlg_text )
                   
                  dlg_text2 = stritran( dlg_text, "{text=93,25:msg}", msg )
                  dlg_result = ui_dlg_box( "OVER 1024 CHARS - NOTHING WORKS RIGHT.  HIT 'ESC' TO EXIT", dlg_text2 )
                   
                  msg = left( msg, 1024 )
                  dlg_text3 = stritran( dlg_text, "{text=93,25:msg}", msg )
                  dlg_result = ui_dlg_box( "DISPLAYS AND WRAPS 1024 CHARS", dlg_text3 )
                   
                  dlg_text4 = stritran( dlg_text, "{text=93,25:msg}", msg + ";{sp};" + msg )
                  dlg_result = ui_dlg_box( "DISPLAYS AND WRAPS 1024 CHARS - TWICE", dlg_text4 )
                  Last edited by CALocklin; 10-14-2008, 12:30 AM.

                  Comment


                    #10
                    Re: How doe you get around 1024 character limit for xdialog?

                    A simple solution is to break the text into blocks of less than 1024 characters and place each block in a {region}.
                    Code:
                    ui_dlg_box("Title",<<%dlg%
                    {region}
                    Assuming you have done the impatient grasshopper thing and 
                    already looked around, you realized you had to put in song 
                    data before you could make the Set List Creator work for you, 
                    now you are ready to begin. 
                    
                    This form holds two "Browse Objects".  The one on the left 
                    displays the list of songs you'll select from when designing 
                    your set lists.  The one on the right is a "Tabbed Object" 
                    that has 4 tabs, one for each of the four sets.  Click on a
                    the tab for the particular set number you would like to build 
                    to make that set active  giving it focus and begin filling 
                    that set with your song choices by double-clicking on songs 
                    from the left-hand Browse. You'll notice that each song selected 
                    will result in the song appearing in the Set list, and disappear 
                    from the Song list.  Makes life a lot easier when you're not 
                    looking at songs you've already used. Of course, if you like 
                    to repeat a song or songs, you can just put multiple instances 
                    of it in your Songs table. But who, knows better. 
                    {endregion};
                    {region}
                    
                    You can add additional text in each region and create multiple 
                    regions.  This will cause the dialog to size to fit the content
                    and still allow as many characters as you like, as long as each
                    region has less that 1024 characters
                    {endregion}
                    %dlg%)

                    Comment


                      #11
                      Re: How doe you get around 1024 character limit for xdialog?

                      Hi Jerry,

                      Originally posted by JerryBrightbill View Post
                      A simple solution is to break the text into blocks of less than 1024 characters and place each block in a {region}.
                      Which just agrees with what I said...
                      Originally posted by csda1
                      although it seems to restart with each new Xdialog object or ; semicolon
                      (although I'll add that {LF} does not work but ; does)

                      and still has the same limitations that Cal stated with word wrapping issues.
                      Regards,

                      Ira J. Perlow
                      Computer Systems Design


                      CSDA A5 Products
                      New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
                      CSDA Barcode Functions

                      CSDA Code Utility
                      CSDA Screen Capture


                      Comment

                      Working...
                      X