I'm programming for a LAN and quite often I add requested features to the program. The LAN is set up so that each workstation is running its own copy of the program and is only reading/writing data files on the server. This arrangement has significantly increased the startup speed of the program; however, when the EXE file is changed, all the workstation programs must be changed. I get around having to go to each station with this program:
Private Sub Form_Load()
On Error GoTo errorhandler
' the Command function Returns the
' argument portion of the command
' line used to launch Microsoft
' Visual Basic or an executable
' program developed with Visual Basic.
' ie:(thisprog.exe c:\localdir\prgcopied.exe
' k:\servrdir\prgtocopy.exe)
If FileDateTime(Left(Command$, _
InStr(Command$, " ") - 1)) < _
FileDateTime(Mid$(Command$, _
InStr(Command$, " ") + 1)) Then
' case the file does not exist
' locate the form designed to your pref.
Top = (Screen.Height - Height) / 2
Left = (Screen.Width - Width) / 2
' containing a label
label1 = "Copying " & Mid$(Command$, InStr_
(Command$, " ") + 1) & _
" to your hard_disk..."
' make the form it visible so the
' operator has something to look
' at while the program is copied
Visible = True
Refresh
' copy file as per parameters in Command$
FileCopy Mid$(Command$, _
InStr(Command$, " ") + 1), _
Left(Command$, InStr(Command$, " ") - 1)
End If
'start the program
x = Shell(Left(Command$, InStr(Command$, " ") - 1), 3)
End
Exit Sub
errorhandler:
If Err = 53 Then 'file not found
Resume Next 'copy the file anyway
Else 'trap other errors
MsgBox "Error # " & Err & Chr(10) & Error _ & Chr(10) & "program will be terminated"
End
End If
Exit Sub
End Sub