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”