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

Is there an limit on size of A5W?

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

    Is there an limit on size of A5W?

    Has anyone hit a wall writing code in an A5W page? I need about 2000 lines and wondered in advance if anyone has experienced any corruption or failure at that scale.
    Steve Wood
    See my profile on IADN


    #2
    Re: Is there an limit on size of A5W?

    I need about 2000 lines
    I wouldn't exactly call that big :-)
    -
    I just took a look and the largest single .a5w file I have is 137 k of undocumented code. (I'll let you calculate that back into lines)
    -
    The webserver has never given me a problem with processing it,
    But --
    But --
    Be very careful using a large file in the Alpha5 editor.
    over 32k it will start giving you the weirdest behaviour.
    -
    Just today every single mod I can remember doing on a page became jumbled back. (I don't know where it came from but it just exploded into the a5w page)
    --
    PS: I'm really glad I'm using session.__protected__ulink now, Thanks Steve.

    Comment


      #3
      Re: Is there an limit on size of A5W?

      Steve

      After reading your post about page size I thought that I would drop this in.
      Some months ago I had an identical problem as pointed out by Colin and decided to find away around having lines and lines of code on one page and came up with the a5w_include("???????.a5w").
      Now when I create a page instead of putting Dialog, Browses etc. directly on that page I create separate pages and do the call to them from the new page using session variables as filters i.e.:

      If session.?????? = something
      A5w_include(�????????.a5w�)
      End if

      It takes a little longer to do and yes, you end up with more feeder pages, but I have found that using this approach the load time is so much faster as you are only loading what you need at any given time. I have nearly finished rewriting our site using this method and have ended up with 2 main web pages with approx. 40 A5w_include() functions on each of the 2 pages. Compare that to the 36 separate pages that I had on the old version with load time reduced from 4 to 2 seconds.

      I�m sure that this method has been used before, although not mentioned in the help files, but it could be an answer to your question. Hope it helps.

      Toby

      Comment


        #4
        Re: Is there an limit on size of A5W?

        That's a great idea. This page in fact has lots of conditional sections. I already started to reduce the size by moving some bulk text off to a database, and bringing in conditionally when needed, similar to your approach.
        Steve Wood
        See my profile on IADN

        Comment


          #5
          Re: Is there an limit on size of A5W?

          Code:
          If session.?????? = something
          A5w_include(�????????.a5w�)
          End if
          Gosh Toby, I looked for ages for some way to do that, and didn't find it.
          Thank you.

          Comment


            #6
            Re: Is there an limit on size of A5W?

            Steve,

            This is where I was going with (IN another Post)
            %A5
            a5w_load_aex("myComponentFile.aex")
            %"

            If you make functions in scripts then can call them on a page is exactly why I thought this was the best way. I can not get it to work, some guys have said it does. So why is this option more documented so we can utilize. Or maybe a video made?

            Nicholas Wieland
            Last edited by NicholasWieland; 03-25-2009, 08:38 PM. Reason: forgot something
            Nicholas Wieland
            LedgerSuite.com Corp
            [email protected]
            http://www.ledgersuite.com

            Comment


              #7
              Re: Is there an limit on size of A5W?

              Originally posted by NicholasWieland View Post
              Steve,

              This is where I was going with (IN another Post)
              %A5
              a5w_load_aex("myComponentFile.aex")
              %"

              If you make functions in scripts then can call them on a page is exactly why I thought this was the best way. I can not get it to work, some guys have said it does. So why is this option more documented so we can utilize. Or maybe a video made?

              Nicholas Wieland
              If you want to use a function with the AEX method, you must create it as a function rather than within a script. I made the same mistake but must say I found the AEX method more reliable than the a5w include method once I got that cleaned up.

              Comment


                #8
                Re: Is there an limit on size of A5W?

                If you want to use a function with the AEX method, you must create it as a function rather than within a script. I made the same mistake but must say I found the AEX method more reliable than the a5w include method once I got that cleaned up.
                This thread is evolving to something interesting, do you have an example you could share?
                Dan

                Dan Blank builds Databases
                Skype: danblank

                Comment


                  #9
                  Re: Is there an limit on size of A5W?

                  Originally posted by Dan Blank View Post
                  This thread is evolving to something interesting, do you have an example you could share?
                  Well basically I HAD originally used the a5w_include() method with one include file with lots of functions, but occasionally this did not seem to work or did not seem to load the latest version, so I looked into the aex load method.

                  It failed horribly when I just had a code/script with lots of functions on, like in the a5w page*. But once I created a function (in the code tab in the main Alpha5 interface -> New -> function) for each function in the code page, this has been working fine ever since.

                  (Please ignore the mess/unstructured list of code/functions in the screenshot, I have yet to split this into different alb/aex files. I wish there was an easier way of splitting components of an app into different files without having to have a separate database for each first)

                  * I guess it makes sense, as in the desktop apps you run a script and access functions inside that script page from within the code, so it makes sense that when including the compiled aex file in a web page you can't just access the functions in a scripts, but have to store each function separately for that to be available in the page.

                  Comment


                    #10
                    Re: Is there an limit on size of A5W?

                    Hi Andrea,

                    Originally posted by NoeticCC View Post
                    (Please ignore the mess/unstructured list of code/functions in the screenshot, I have yet to split this into different alb/aex files. I wish there was an easier way of splitting components of an app into different files without having to have a separate database for each first
                    Wayyyy too many scripts. :) Just about everything should be functions. See my tips here. Just another good reason that functions should be made instead of scripts.

                    But about an easier way.....

                    My internal version of my CSDA Code utility (which I'm working on a new release...It's taking time :( ) has a feature for "packaging" code together for AEX's (or ALB's). I mention this only as you can potentially write the needed lines now into your code, so that it will work later, should you use my utility.

                    Each function/script and anything else stored in the ALB can be automatically included by including 1 or more lines of the following structure

                    Code:
                    'PACKAGES    PackageName1,PackageName2,etc
                    'INCLUDE      FunctionName1(), FunctionName2(), ScriptName1, Bitmap;GBMP, etc
                    'EXTERNAL   FunctionName2()
                    Packages are groups that are selected (1 or more). All code that has at least 1 of the selected package names will be placed in a destination AEX. Examples of my packages include A5Desktop, Barcodes, GeoCoding, AEXSupport, but can be any string that does not include commas. So each code object has a Package line that lists those packages that the code object is part of

                    Each code is required to have on the Include line every user function, script and other alb object listed that it directly uses. I have a utility that identifies (except for those that are dynamically calculated for evals), all functions and code that a piece of code references. The packager, then parses down each item finding what it uses and makes sure all of it's children, grandchildren, etc code is also included in the AEX. The Include line can also list other objects that may be associated with the code (e.g. a bitmap), but may not be directly used by it

                    The External line makes sure that those particular code objects are available as an entry of the AEX. Anything that is not in the external lists (normally should be functions) can be, optionally, included at the end of an external object that uses it, resulting in less externally accessible functions. This means each external code object will have a copy of any functions it uses (and children code that those functions use as well), resulting in a somewhat larger AEX, but less accessible (and visible) internal functions.

                    You can repeat each line type if the line is getting too long as well.

                    I have one Database where I develop all of my code. It has about 1000 functions for various applications. If I need to extract code for 1 package or another, it does it automatically, and can create the AEX (or leave it as it's own ALB). I don't have to go searching for code pieces I used in other applications, because it is all in 1 place. I can globally search it very fast as well.

                    I use this Package method for creating the CSDA Code Utility's AEX (my largest application) and it generally takes about 10 seconds, and that is a very large piece of code. Smaller ones would run much faster.

                    Specifying the package, pulls all the needed code items and puts it togther in an ALB or AEX file. I never forget a needed code item, because it's all automatic (as long as the INCLUDE lines are correct)!
                    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


                      #11
                      Re: Is there an limit on size of A5W?

                      Ira,

                      Are you saying that all objects on the Include line would, by default, be copied internal to the current script/function unless they are mentioned on the External line?

                      Bill.

                      Comment


                        #12
                        Re: Is there an limit on size of A5W?

                        Hi Bill,

                        Originally posted by Bill Parker View Post
                        Ira,
                        Are you saying that all objects on the Include line would, by default, be copied internal to the current script/function unless they are mentioned on the External line?
                        Yes, but the external line is for those items associated with the current code object that must be external. (e.g. functions used in function argument help lines must be externally accessible)

                        If say, extfuncname() is listed on the external line in any of the code that is being placed in the ALB/AEX, it (and any of it's "children" code) will be made as one code object in the ALB/AEX.

                        The Package line only lists those packages that you want that code object to be available as an external object in the ALB/AEX. (they would not normally be listed on the external line. Use in a package implies external) So func1() may have package1, func2() might list package1 and package 2 etc.

                        If I make a package1, then each of those code objects having package1 listed are placed as external objects (and any other object listed on an external line contained by them or their children that is found).

                        Every child object that func1() uses will be appended to func1(), every child object that func2() uses will be appended to func2() (if a child object used in func1() is needed by func2(), it will also be appended to func2(), unless it is external, in which case it can be accessible to both and does not need to be included).

                        So just to recap,
                        • the package line is for a list of packages to use the current code object as a top-level external code objects to place into an ALB/AEX.
                        • The include line lists those code items that are use directly by that code object (it's children, not grandchildren). Each child object, should have it's own "children" listed in it's include line, and so forth. The code is smart enough to eliminate inheritance loops like func1() calls func2() (which is a child code) which calls func1() making func1() a child of func2() as well.
                        • the external line is for those items associated with the current code object that must be external.
                        You also have the option to force all include line objects to be placed at the external level and you can also pass a list of additional external code objects, in addition to the ones listed, and that will override the include (include basically means internal).

                        Because of the hierarchy only listing it's direct children, changes to code automatically follow from the top down to the bottom.

                        Hopefully that explains it a bit better. It's a lot easier to do than explain, but works extremely well. The biggest problem I find is (which is one of the reason's for the code count utility - which I had you test) is finding all child code references.
                        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


                          #13
                          Re: Is there an limit on size of A5W?

                          Originally posted by csda1 View Post
                          Hi Andrea,

                          Wayyyy too many scripts. :) Just about everything should be functions. See my tips
                          To be honest most of these should be in the code snippets, I am not actively using anything other than the functions :)

                          But thank you very much for the tips, I do have the utility knocking about somewhere....

                          Comment

                          Working...
                          X