Search  
Saturday, February 11, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Aplicatii Web  Functie autodow...
 Functie autodownload?
 
 4/10/2008 1:44:04 PM
User is offlinepopdan2004
4 posts


Functie autodownload?
 (Romania)

oare cum as putea in momentul cand deschid aplicatia sa-mi faca automat download.......ultima versiune de program de pe un server de FTP ..???

 4/10/2008 10:16:20 PM
User is offlinegldesign
394 posts
3rd


Re: Functie autodownload?
 (N/A)

Trebuie sa ai o aplicatie principala, cara sa stabileasca legatura cu serverul si sa citeasca versiunea aplicatiei de lucru de pe server.

Daca acea versiune e mai mare decat versiunea aplicatiei locale se descarca aplicatia de pe server si se lanseaza aplicatia de lucru, daca sunt versiunile

 sunt identice nu se face dawnload de pe server ci se lanseaza aplicatia

 4/11/2008 10:23:35 AM
User is offlineDorin Vasilescu
1366 posts
1st




Re: Functie autodownload?
 (N/A)
 popdan2004 wrote

oare cum as putea in momentul cand deschid aplicatia sa-mi faca automat download.......ultima versiune de program de pe un server de FTP ..???



http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,06bb82c3-9e4c-4048-9b3b-87cc8579eb59.aspx

 8/14/2008 4:16:44 PM
User is offlinesmartcyp
9 posts


Re: Functie autodownload?
 (Romania)

Buna.

Stiu ca este o discutie mai veche dar poate postarea mea da idei si altor persoane.

Am fost in aceasta situatie si iata cum am rezolvat:

METODA 1:

1. Te poti folosi de un motor de baze de date (cazul meu oracle sau mysql - depinde ce avea clientul) in care am facut o tabela upd_app (cust_id, status - care e 0 sau 1).

2. Pe statia de lucru pe care este instalata aplicatia se instaleaza un driver ODBC pentru conectarea prin odbc la baza de date.

3. Aplicatia are un alt executabil numit app_update.exe (tot in Visual Fox facut) care face download de informatia necesara unui update.

4. La pornirea aplicatiei se verifica in tabela upd_app daca status=1. In acest caz apare un messagebox in care anunta ca aplicatia nu poate porni decat daca se instaleaza update-ul.

5. Dupa ce apare acest mesaj utilizatorii au fost instruiti sa ruleze aplicatia app_update.exe

METODA 2:

Se mentin punctele 1 si 2 descrise anterior dupa care aplicam noua metoda:

- Dezvoltarea unei aplicatii principale (aplicatia de management cu privire la acces) din care utilizatorii se logheaza in aplicatia de care au nevoie (aici folosesc baze de date distribuite):

La deschiderea acestei aplicatii principale verific in tabela upd_app daca status=1. Daca da se deschide o forma cu un progress bar care incepe sa faca download de noua versiune a aplicatiei dupa care permite user-ului sa se logheze la aplicatia pe care are drepturi.

Stiu ca metodele descrise mai sus contin destul de putine detalii. Eu acum folosesc metoda 2.

Cine este interesat de aceasta idee ma poate contacta la: ciprian.ciolacu@gmail.com si il voi ajuta inclusiv cu cod sursa.

 11/18/2008 6:36:07 PM
User is offlinearanox
272 posts
4th


Re: Functie autodownload?
 (Romania)
eu am folosit metoda 3 de 2 ani. :)
Adica:
Am un mic programel facut in vfp care face auto-update in momentul in care am versiune noua si pe urma ruleaza aplicatia, altfel da run la aplicatie.
M-am folosit de functia 
AGETFILEVERSION(ArrayName, cFileName) iar in array la 4 am versiunea fisierului care e vizibil si in Explorer cu conditia ca exe sa fie dat build cu versiune.
Daca e bifat auto-increment la versiune cu atit mai simplu, la build nu mai ai bataie de cap.
Versiunea fisierului e ceva de genu AAA.BBB.CCC
Exemplu :
File version: 1.2.205
In tabela de Software_version am 3 coloane, fiecare reprezentind 1 grup din versiunea fisierului
In momentul cind fac build si update pe server, automat setez versiunea la care s-a facut update pe server, eventual si comentarii anexate versiunii.
Aplicatia de auto-update cind verifica versiunea fisierului local, o imparte in 3 variabile v_maj,v_med,v_min
Comparatia dintre versiuni ca sa fie cronologica o fac in felul urmator:

AGETFILEVERSION(fver,"aplicatie.exe")
vf_dot= ATCC('.',fver(4),1)
vs_dot= ATCC('.',fver(4),2)

v_maj=SUBSTR(fver(4),1,vf_dot-1)
v_med=SUBSTR(fver(4),vf_dot+1,vs_dot-vf_dot-1)
v_min=SUBSTR(fver(4),vs_dot+1)

* get server file version
vsql=SQLEXEC(co,"select * from str_spec._versiuni where id=1","sp_ver")
    IF vsql=-1 THEN
        =AERROR(ae)
        MESSAGEBOX(ae(3))
    ELSE
        IF (sp_ver._maj*1000000)+(sp_ver._med*10000)+(sp_ver._min)>(VAL(v_maj)*1000000)+(VAL(v_med)*10000)+VAL(v_min) THEN
            * update then, run soft
            = doandwait('xcopy \\cale_catre_exe\aplicatie.exe -Y')
*            MESSAGEBOX("Update complete")           
            CLEAR EVENTS
            RUN /N aplicatie.exe
            thisform.Release
            QUIT    
        ELSE
            * no update, just run soft
            CLEAR EVENTS
            RUN /N aplicatie.exe
            thisform.Release
            QUIT
        ENDIF
    ENDIF

Asa nu depind de client X sau Y si sa am grija sa marchez la toti sa fack check cind fac versiune noua, si sa isi faca fiecare update in db cind si-a adus versiunea...
Plus se poate intimpla ca iti moare conexiunea in timpul downloadului...sau mai stiu eu ce...
Anyway..la mine merge struna de 2 ani pe 20 statii.

Am mai facut o chestie in aplicatia principala, se face check 1 data la 10-15 min daca exista versiune noua, daca este apare un messagebox in aplicatie care ii zice userului sa isi faca update adica restart aplicatie, dar nu il forteaza sa iasa, poate omu are ceva de terminat inainte..

Se poate folosi si ftp pentru download, in loc de xcopy...

Orosz Lorand
 11/18/2008 6:40:13 PM
User is offlinearanox
272 posts
4th


Re: Functie autodownload?
 (Romania)
PS:
doandwait e o functie care ruleaza copierea sau ce o fi ea, si nu lasa foxu sa ruleze codu mai departe pina nu se termina comanda de la doandwait.
Codul sursa la doandwait l-am gasit tot aici pe forum, sincer nu mai tin minte unde anume..dar search ajuta :)

Orosz Lorand
 3/10/2009 8:48:12 PM
User is offlinedanilea
197 posts
5th


Re: Functie autodownload?
 (N/A)
Buna seara,
Am cautat functia DOANDWAIT pe forum si nu am gasit-o.Daca nu va este peste mina,puteti posta codul aici.
Ma intereseaza si pe mine.
Multumesc.
 3/11/2009 9:53:35 AM
User is offlineDoru Constantin
304 posts
3rd




Re: Functie autodownload?
 (N/A)
FAQs - Win32 API --> Cum determin o procedură să aştepte executarea unui fişier executabil după care să continue rularea codului?
 3/11/2009 1:13:55 PM
User is offlinedanilea
197 posts
5th


Re: Functie autodownload?
 (N/A)
Multumesc Dl.Constantin.
  Visual FoxPro  Aplicatii Web  Functie autodow...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement