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

Help!! I've locked myself out!

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

    Help!! I've locked myself out!

    Well, I've just put the finishing touches on my app and have started

    1) getting it ready for the Runtime environment

    2) Locking it down so that the user won't be able to tour the Control Panel, etc.

    Well, I followed an example and and added the a5.close() to the main form. I had Ass-You-Me'd that the lock out would somehow not apply to me.

    Anyway, I was going to restore an old version of the form from my backup area, but don't see any reference to them in the database folder.

    I did find a series of "backup" and "history" files, but thought I'd post first, rather than digging a deeper hole for my self.

    Any thoughts on how to get it so I can get back to the control panel for that database - preferably without losing today's work - is welcome and deeply appreciated.

    #2
    Re: Help!! I've locked myself out!

    As you select the application, press ctrl-alt-shft and hit enter. You hopefully will get options that help but it depends on exactly what you did when setting up security.

    Garry

    Comment


      #3
      Re: Help!! I've locked myself out!

      If the Main form opens automatically when the app starts you can block that by opening the database in debug mode. Start Alpha Five from the START Menu. Hold down the Ctrl and Shift keys while opening the database from the File menu. Choose the option to NOT open the startup form.

      Comment


        #4
        Re: Help!! I've locked myself out!

        Originally posted by Tom Cone Jr View Post
        If the Main form opens automatically when the app starts you can block that by opening the database in debug mode. Start Alpha Five from the START Menu. Hold down the Ctrl and Shift keys while opening the database from the File menu. Choose the option to NOT open the startup form.
        Thanks man - I owe a cold one!

        I was trying the previous suggestion and I was losing all hope. i, of course made a copy/backup at the start of my day, but did a heck of a lot of work that I would have hated to lose.

        Another question though: I was looking for the actual form in the dir that contains my app, but couldn't find. Any thoughts on where those are located and is it possible to migrate/manipulate/copy just a form? Seems like this is going to be an issue when updating for the client occurs.

        Again, thank you Obi Wan - you were my only hope!

        Comment


          #5
          Re: Help!! I've locked myself out!

          Bill, your form layout is stored in the dictionaries supporting the table or set upon which it is based. For a complete list showing where everything is stored check the help file topic "Alpha Five File Types".

          A common solution to the problem you experienced is to put a hidden button or hotspot on the main menu form. This button would run a script that closes the main menu and shows the control panel. The button / hotspot could be password protected, or you could set it up so that only users who belong to certain security groups can run it.

          Good luck with your project.

          Comment


            #6
            Re: Help!! I've locked myself out!

            Tom,

            Again, you're a prince. I will be implementing those recommendations post haste.

            Comment


              #7
              Re: Help!! I've locked myself out!

              Originally posted by Tom Cone Jr View Post
              Bill, your form layout is stored in the dictionaries supporting the table or set upon which it is based. For a complete list showing where everything is stored check the help file topic "Alpha Five File Types".

              A common solution to the problem you experienced is to put a hidden button or hotspot on the main menu form. This button would run a script that closes the main menu and shows the control panel. The button / hotspot could be password protected, or you could set it up so that only users who belong to certain security groups can run it.

              Good luck with your project.
              I'd like to add some specifics about a "hidden button"....

              - If you actually "hide" a button, it won't do much good because nobody can get to it - including you.
              - If you use a hot spot, many people will move their cursor around just to find it. Of course, your button action should be protected so users can't do something they aren't supposed to do. (More on that below)
              - My idea of a "hidden button" is a regular button that is defined with no border and no text, has the "tab sequence" turned off, and is transparent. This type of button will not show up if the user simply waves the cursor over it. You have to know where it is in order to find it. (My preference is the left edge of the form about half way between the top and bottom of all objects on the form.)

              Protecting the button action

              There are a few methods I've used to protect the actions on these buttons:

              1. Add a password prompt when the user clicks the button. This works but can be annoying if you need to use it frequently during development.

              2. Use a password prompt as above but test for the name of your development computer also and skip the prompt if the computer name matches yours. (In this case, don't use a generic name for your computer!) You can use api_getmachinename() to find the computer name.

              3. IF there is no reason for anyone other than yourself to use the button or if there is no reason to use the button from a shadowed or runtime version, add an OnInit action that actually hides the button. For example:
              Code:
              FUNCTION HCtl_pnl_btn as C ()
                  basic_dev_machine_name = "<your computer name>"
                  'Checking only the first x characters allows it to work on all dev machines if you to have 
                  'multiple dev machines with "suffixes" such as Dev_machine1, Dev_machine2, Dev_machine_joe, etc.
                  basic_name_length = len(trim( basic_dev_machine_name ))
                  'Base the IF on "=" because that's easier to understand than when done with "<>".
                  IF left(api_getmachinename(), basic_name_length ) = basic_dev_machine_name
                      EXIT FUNCTION    'Don't hide the button.
                  ELSE
                      'Hide the button if using the runtime -or- a shadowed app -or- A5 security and not an "admin" login.
                      'The default for this next line includes security checks - it does not need to be removed for apps 
                      'w/o A5 security enabled because user_name() will be blank in that case.
                      IF a5_is_runtime() .or. a5.Get_Master_Path()<>"" .or. (user_name()<>"" .and. user_name()<>"administrator" .and. user_groups()<>"database admin")
                          IF is_object("<your button name>")    'JIC the button is missing, mis-named, or has been removed.
                              <your button name>.hide()
                          END IF
                      END IF
                  END IF
              END FUNCTION
              Of course, you will have to substitute the appropriate names for your system wherever the <your...> values are.

              Comment


                #8
                Re: Help!! I've locked myself out!

                Thank you Cal.

                Comment

                Working...
                X