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

A5 restart command?

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

  • Peter.Greulich
    replied
    Re: A5 restart command?

    In my particular case, at least, I have discovered as long as A5 is running I can't do what I want. I have to run my script from a 3rd party utility.

    Leave a comment:


  • G Gabriel
    replied
    Re: A5 restart command?

    Simple is always good:
    Create a new script in the code tab and name it"OnDatabaseClose":
    sys_open("C:\Documents ......\your_file.adb")

    Leave a comment:


  • aschone
    replied
    Re: A5 restart command?

    I have attached a sample database that has a restart button to demonstrate how to terminate a running Alpha5 database and then restart it.

    The restart button will call the VBScript "DB_Restart.vbs"

    WARNING!
    The script will do a forced process termination of the "Alpha5.exe" process. This is not a polite method to close down applications, unsaved work will be lost. Additional coding to protect data will need to be implemented prior to the vbscript call.

    The vbscript works by terminating any running process that is called Alpha5.exe. If you have multiple databases all opened at the same time this script will terminate all of them (in theory, did not test that).

    The script is not dynamic enough to be added to any database. You will need to change the varible strDB to the database file name that you want to open. It is possible to pass arguments to the script so that it knows who the calling database is. I did not take the time to code the arguments capability to the script.

    Code:
    strDB = "DB_Restart.adb"
    Also the script file needs to be stored in the same folder as the .ADB file you wish to open.
    Code:
    '====================
    '
    ' NAME:     DB_Restart.vbs
    '
    ' AUTHOR:     A. Schone
    '
    ' SCRIPT TYPE:    vbscript
    '
    ' SUB TYPE:    
    '
    ' WSH VERSION:    2.0
    '
    ' COMMENT:     
    '
    ' ARGUMENTS:    
    '
    ' HISTORY:    05/17/2007        Creation
    '
    ' Description:
    '	DB_Restart will terminate the Alpha5.exe process and then open the Alpha5 Database referenced by strDB.
    '	DB_Restart must reside in the same folder as the .ADB you wish to open
    '====================
    
    Option Explicit
    'On Error Resume Next
    
    ' Initialize vars
    Dim strDB
    Dim strPath
    
    'Database to reopen
    strDB = "DB_Restart.adb"
    
    strPath = GetPath() + "/" + strDB
    
    EndAlpha5()
    
    'Administrative tasks that need to be executed prior to re-opening of the database go here
    
    StartAlpha5()
    
    WScript.Quit(0)
    
    Sub EndAlpha5
    	Dim objWMIService, objProcess, colProcess
    	Dim strComputer, strProcessKill 
    	strComputer = "."
    	strProcessKill = "'alpha5.exe'" 
    
    	Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
    
    	Set colProcess = objWMIService.ExecQuery("Select * from Win32_Process Where Name = " & strProcessKill )
    	For Each objProcess in colProcess
    		objProcess.Terminate()
    	Next 
    End Sub
    
    Sub StartAlpha5
    	Dim objShell
    	Set objShell = CreateObject("Wscript.Shell")
    	objShell.Run strPath
    End Sub
    
    Function GetPath
    	' Return path to the current script
    	DIM path
    	path = WScript.ScriptFullName  ' script file name
    	GetPath = Left(path, InstrRev(path, "\"))
    End Function
    Last edited by aschone; 05-17-2007, 06:06 PM. Reason: Added additional detail and warning

    Leave a comment:


  • DaveM
    replied
    Re: A5 restart command?

    Peter,

    I researched that area I thought could run a script after db was closed. Not there! My mistake.

    An alternative would be a windows script or an exe to be called when db is closing with a wait period, then a restart for your alpha app.

    Dave

    Leave a comment:


  • Peter.Greulich
    replied
    Re: A5 restart command?

    Originally posted by AaronBBrown View Post
    Have you tried a sys_shell() followed by an a5.close().
    Sorry, Aaron. That doesn't help. I want to run a command in between A5 being open.

    Leave a comment:


  • AaronBBrown
    replied
    Re: A5 restart command?

    Have you tried a sys_shell() followed by an a5.close(). It would mean the other instance of A5 would start opening before the current one closed, but it doesn't sound like that would be a problem in your case.

    Leave a comment:


  • Peter.Greulich
    replied
    Re: A5 restart command?

    Originally posted by DaveM View Post
    Not sure if it will work, but

    There is also a script that runs after the database closes like autoexec runs when the db starts. You may be able to use that.
    ON_DATABASE_EXIT() doesn't appear to do the trick because A5 is still running.



    Thanks, Dave



    P.S. Your latter comment sounds interesting...

    Leave a comment:


  • DaveM
    replied
    Re: A5 restart command?

    Not sure if it will work, but


    The ON_DATABASE_EXIT() function allows you to "register" code that will be executed when the current database is closed. You can call the function as many times as you want to register as many different code snippets as you want.
    There is also a script that runs after the database closes like autoexec runs when the db starts. You may be able to use that.

    Sorry, my time is limited today or I would look it up for you.

    dave
    Last edited by DaveM; 05-17-2007, 02:50 PM.

    Leave a comment:


  • Peter.Greulich
    replied
    Re: A5 restart command?

    Originally posted by csda1 View Post
    I'm not sure why either, unless you are doing a self patching of Alpha 5 or a restart utility like mine, two very unlikely scenarios. Peter?
    Martin: Yes, I do use A5.load to load other dbs. But thanks for the thought.

    Ira: Yes, I want to "patch" A5. A5 is locking a certain file while it runs. I can update w. A5 closed manually, I just want to automate it.

    Leave a comment:


  • csda1
    replied
    Re: A5 restart command?

    Hi Martin,

    Originally posted by martinwcole View Post
    Wonder why he wants to do that?!
    I'm not sure why either, unless you are doing a self patching of Alpha 5 or a restart utility like mine, two very unlikely scenarios. Peter?

    Leave a comment:


  • martinwcole
    replied
    Re: A5 restart command?

    ahh soooooo - moral: read lines velly closely!!

    He might be able to do it with (I'm not sure what you call it - its like a compiled bach file) that he could call when he closes Alpha that would wait for maybe a couple of seconds and then open it again.

    Wonder why he wants to do that?!

    Leave a comment:


  • csda1
    replied
    Re: A5 restart command?

    Hi Martin,

    A5.Load() closes the database, and reopens with the new database.

    Peter, on the other hand, wants to quit Alpha 5, and restart Alpha 5 with the same or another database, which is not the same thing.
    Last edited by csda1; 05-17-2007, 12:14 AM.

    Leave a comment:


  • martinwcole
    replied
    Re: A5 restart command?

    Peter, you can do it with a5.load()

    I have an app that lets you change facilities (same app is in different folders for different hospitals) - where the therapist wants to first enter her activities in one and then in another if she worked both places that day.

    The code below will give you an idea. The reason I know it will work is that when I was in one facility I changed facilities to the same facility, and it loaded perfectly. Note that A5.load() closes the current adb automatically. Also note the line in red (for apps where the "main menu" has cancel() in the canexit event.)


    Code:
    lastuse=toseconds(time())
    f=form.view("load2","dialog")
    f.close()
    if ans="yes"
     if gpc="homeoffice"
      if loglevel < 2
       msgbox("Note","Current User not authorized for this choice!",16)
       end 
      end if 
     end if 
     parentform.code.canexit=""
     A5.LOAD("C:\Alpha\TowsonRehab" + chr(92) + var->gpc + chr(92) + "towson.adb")
    end if

    Leave a comment:


  • Peter.Greulich
    replied
    Re: A5 restart command?

    Originally posted by csda1 View Post
    Can it be done? Yes, 6 months of development and testing allows me to do just that!
    Funny! :)

    Yes, Ira, I'm very aware of your code utility - after all, you demoed it at the conference! But, of course, as I understand it, your utility is for development purposes and wouldn't be suitable for my very minor need. But thanks for the reminder.

    Leave a comment:


  • csda1
    replied
    Re: A5 restart command?

    Peter,

    That is the prime reason I developed the CSDA Code Utility for Alpha 5.

    It saves the state of all the current windows, closes A5, reopens A5 and restores all the windows back to their original state and stays out of the way of affecting your database application.

    It also has quick saves of your application (even in shared mode) to regularly backup the development process, a logging of the open windows and a variety of timing and debugging aids.

    It has a couple of issues with A5v8 and it's directories (because of Vista support), but an update will be available in the next day or so that will resolve these issues.

    To answer your question precisely, the answer is no,there is no Xbasic command. Can it be done? Yes, 6 months of development and testing allows me to do just that!

    Leave a comment:

Working...
X