VFP: Execute latest (NL)

Foxpro nieuwste versie programma starten

Door jasperdg op 14 Feb 2008

In Visual Foxpro compileer je een programma naar een executable (.exe). Als echter het programma reeds in gebruik is (vele netwerk gebruikers), dan kan de nieuwe executable niet worden overschreven. Ik vind dat niet logisch, want alle gebruikers hebben het programma immers al in hun werkgeheugen staan, maar wie ben ik?

Mijn oplossing is om de executable te kopiƫeren en deze kopie uit te laten voeren. Uiteraard moet dit wel automatisch en transparant voor de gebruiker gebeuren. Dit is een verademing als je moet ontwikkelen in een netwerk omgeving.
Mocht een nieuwe release niet goed werken, dan kan je terug naar een werkende release door de desbetreffende versiekopie te kopieƫren naar de standaard executable.

* Gstarter: Starten van software 

 LPARAMETERS tcRelatie,tcTijd,tcPostcode,tcPlaats,tcPad
 IF VARTYPE(tcRelatie)<>[C] 
  tcRelatie = []
 ENDIF 
 lcProgramma = [q:\programmeren\vfp\synplan2007\synplan.exe]
 AGETFILEVERSION(laVersie, lcProgramma)
 lcVersie = laVersie(11)
 lcDoel = ADDBS(JUSTPATH(lcProgramma))+JUSTSTEM(lcProgramma)+lcVersie+[.]+JUSTEXT(lcProgramma)
 IF !FILE(lcDoel)
  COPY FILE (lcProgramma) TO (lcDoel)
 ENDIF 
 DO (lcDoel) WITH tcRelatie, lcVersie

Dit voorbeeld is iets ingewikkelder omdat er parameters moeten worden doorgegeven. Het programma heet “synplan.exe” en een kopie heet bijvoorbeeld “synplan1.0.3.exe”

Leave a Reply

Your email address will not be published. Required fields are marked *