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

AEX on the server or workstation?

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

    AEX on the server or workstation?

    Does the AEX file need to be copied to all user workstations in a runtime environment?

    #2
    Re: AEX on the server or workstation?

    In fact .. are there other recommendations of things that should be copied to the local machine when setting up the network optimization piece?

    Comment


      #3
      Re: AEX on the server or workstation?

      Startup files belong on the workstation?

      Comment


        #4
        Re: AEX on the server or workstation?

        You are asking very general questions without detailing what you are trying to do.
        An application can reside in one of many locations. For a workstation to run an application it needs only the developer or runtime install of Alpha Five on the local machine.
        Depending on the situation, you may choose set-up "Network optimization", but this is not essential.
        I suggest you look at Help for "Network Optimization" and "Networked Applications".

        Comment


          #5
          Re: AEX on the server or workstation?

          The AEX file needs to be located locally in the shadowed folder.

          Michael

          Comment


            #6
            Re: AEX on the server or workstation?

            Thank you Michael .. that's what I was looking for ... that's where I have them installed as well as the startup files.

            I did read the documentation but it wasn't clear whether the AEX should be on the server or the workstation.

            Comment


              #7
              Re: AEX on the server or workstation?

              I guess the real question is "To use or not use?" ..

              I thought I would use the AEX file because documentation indicates that compiled code runs faster ... and I thought using the AEX file that I could simply replace one file on the server when I make a code change and that because that file is included in 'additional files' in the Network Optimize settings that it would replicate to all of the workstations.

              This is what I did:
              1. Make a code change
              2. Recompile the AEX on my copy
              3. Copy that to my test database; and it works
              4. Copy that to the server at the client location (thinking it will replicate to the shadow db because it is included in the "Additional Files" list)

              Nope .. doesn't seem to be working. Does not replicate to the shadow database.

              So it appears that I have two choices; manually copy the new AEX file to every user's workstation (do it 10 times) or import each code change in the server copy of the database. Given those choices, I would prefer the 2nd option ... working only on the physical database on the server.

              My next thought is that when I have new code to release (a function or script) I put it into a folder on the server and then have a script that gets executed via autoexec to import that code change into the database and then move it out of that folder into a history folder... so that the first user who logs on loads the new code ...

              Before I go there .. perhaps I am doing something wrong ?

              Thoughts? Best Practices? Throw out the AEX file?

              Comment


                #8
                Re: AEX on the server or workstation?

                Still on the same subject .. there are 3 ways to load a library ..

                1) As an attachment to the database via FILE > DATABASE PROPERTIES > COMPILED LIBRARIES

                2) VIEW > PREFERENCES > SETTINGS > AUTOLOAD LIBRARY

                3) As an add-in which kind of makes it a part of alpha5 regardless of the database in use (which is not what I am looking for here).

                I have tried option #1 & #2. It works on my local test database but does not work on the client's shadow database. Because you can't see its contents I can't see what's in it. Looking at time stamps doesn't help either because they all seem to be the same.

                Maybe I only THINK I am using it in my test database .. maybe I should go back to that a minute ...

                Comment


                  #9
                  Re: AEX on the server or workstation?

                  If I autoload a library what should I expect to see? How can I tell if I am USING a compiled library?

                  Comment


                    #10
                    Re: AEX on the server or workstation?

                    Hi Betty,

                    There is a lot of wrong info listed above, so I just want to set things a bit straight for you and others reading.

                    Does the AEX file need to be copied to all user workstations in a runtime environment?
                    It can be loaded from the database folder, shadowed folder (normally local), as well as automatically from the Addins_Installed folder (also normally local).

                    If the AEX has the same name as the database and is located in the database directory, it is automatically loaded as well. If running shadowed (Network Optimized), I don't know if it uses an AEX in the shadow directory automatically (I suspect not). It might have to be loaded manually if located in the shadow directory.

                    The AEX file needs to be located locally in the shadowed folder.
                    This is untrue. It can be loaded manually from any folder, although not recommended. (By manually, I generally mean XBasic Code)

                    but it wasn't clear whether the AEX should be on the server or the workstation.
                    It really doesn't matter, and normally creates no noticable overhead on the network. However, if you had a 100 people all loading at the same time a large AEX (largest I've ever seen is 34 Meg), it may add some temporary network overhead, but this only happens when Alpha 5 starts or the AEX is loaded.

                    For easier support and changes, keep it in the database folder, and it will almost always never be a problem.

                    I thought I would use the AEX file because documentation indicates that compiled code runs faster ...
                    This is almost not measureable between an AEX and regular code. It is so far down in the measurement noise that it is unimportant. Loading time of an AEX may, however be important in the case of many simultaneous starts of the application (which as stated before, is almost never the case)

                    and I thought using the AEX file that I could simply replace one file on the server when I make a code change and that because that file is included in 'additional files' in the Network Optimize settings that it would replicate to all of the workstations.
                    That would work fine, although, again, the need to copy it to the workstations may not gain you much advantage.

                    A couple of things. In order to use the AEX, the adb functions/scripts you created in the database must not be there, otherwise they will override the AEX versions. To find out what AEX's are loaded and their locations, you can use the CSDA DiagInfo utility, which will report the loaded AEX's and their locations.

                    If you have more than one loaded, you will need to remove all but one to test if it is working. Just test a simple function in one of the AEX's to determine if it is present. If it returns a simple string, it can report the version number, e.g.

                    function _AEXVersion as C()
                    _AEXVersion="1.20"
                    end function

                    I tend to use a standard of an underscore followed by the AEXName as a standard name to return a version #

                    There are XBasic commands to load and unload a library, which can also be done in the Autoexec

                    Note which AEX library number you are using. See my tips here.

                    Also see the tip on Network Optimization here.

                    I guess the real question is "To use or not use?" ..
                    As to whether to use or not, I would generally say no unless you are trying to protect intellectual property or client tampering.

                    To update an data dictionary with new code, you could just export the code from a development copy and import it to the live copy. This gets rid of the issues about other changes to the alb, alx, and alm files (although you can often just overwrite them with the new copy - Depends on whether you are using Imports and a few other operations and other objects stored in those files).

                    Hope this straightens things out.
                    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: AEX on the server or workstation?

                      I've been back to this thread several times and it does not seem that an aex with the same name as the database, residing in the shadowed folder or on the server, works with the runtime version - at all. When I load the server with a full licensed copy of Alpha it works. Also when I run the shadow copy with the full license version it works. What doesn't work is loading either copy with the runtime - my compiled functions are not being recognized with the Autoexec throwing the first error.

                      What else could be going on, or am I just not understanding how to do this with runtime? Also there is no 'addins installed' folder included with the runtime, else I would try that!
                      Robin

                      Discernment is not needed in things that differ, but in those things that appear to be the same. - Miles Sanford

                      Comment


                        #12
                        Re: AEX on the server or workstation?

                        Just a bump in case any one can advise on this?
                        Robin

                        Discernment is not needed in things that differ, but in those things that appear to be the same. - Miles Sanford

                        Comment


                          #13
                          Re: AEX on the server or workstation?

                          Robin,

                          This may be the 'Bump' that you need.

                          Are the folder attributes on the server hidden by Windows? if so this may be the answer to your problem, the attached error occurs V10 and V11 and the dbase gets broken!! (however V9 is OK)

                          We have lots of users with RDP to our remote servers and obviously we must hide folders between users.

                          You can create this test on your own PC but beware because it will break your application so make sure that you have a backup that you can restore.
                          Picture0001.png
                          (the staffblank.dbf mentioned in the error holds the opening form)

                          You can use Alpha Sports as your test if need be

                          1. Create a temp folder and place your application inside then open the app to confirm OK

                          2 Right click the folder and choose Properties then click the 'Hidden' attribute then OK and accept the default to include sub folders.

                          3. Now try to open your app again with V10 or V11 you will see that it is broken, even if you remove the hidden attributes from the folder, and the only way that I know to fix is to restore the dbase files from a backup

                          My remedy is, when applying the hidden attributes NOT to include subfolders and then hide the subfolders independently if need be.

                          Michael
                          Last edited by Michael Humby; 02-10-2013, 03:46 AM.

                          Comment

                          Working...
                          X