Search  
Friday, May 25, 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  Client/Server  Aplicatie in re...
 Aplicatie in retea
 
 5/8/2011 9:44:22 PM
User is offlineji_ci
191 posts
5th


Aplicatie in retea
 (Romania)
Am o aplicaţie făcută în Vfp9 care iniţial era utilizată pe un sg calculator. Acum aş vrea ca să fie accesibilă şi unor utilizatori aflaţi la distanţă. Acum bănuiesc că am nevoie de o reţea sau să pun pe Web aplicaţia! Nici de una, nici de alta n-am niciun habar! Vă rog dacă mă puteţi ajuta cu nişte sfaturi sau nişte documentaţii în sensul acesta! Este o reţea realizată unde doresc să rulez aplicaţia .... dar dacă pun direct executabilul în reţea ... programul merge destul de greoi! 
 5/9/2011 2:29:52 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Aplicatie in retea
 (N/A)
O aplicatie utilizata in retea nu este o aplicatie client/server ...
Daca aplicatie se misca greu in retea, inseamna ca baza de date nu a fost structurata corespunzator si/sau accesul la date al aplicatiei nu este optimizat.
Daca vrei sa pui aplicatia pe web, trebuie sa o rescrii intr-o configuratie client/server, cu un server sql si un client fie vfp, fie in alt limbaj.
Poti trece la configuratie client/server si fara interfata web, cu client vfp si baza de date server sql.
Ghidandu-ma dupa posturile tale de pana acum, te poti descurca foarte bine cu aplicatia accesata in retea (pe file-server, chiar daca acesta este unul din pc-urile din retea ...), dar va trebui sa o perii putin.



Daniel Buduru
 5/9/2011 9:28:52 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
Astazi am testat mai bine programul în reţea ... şi merge bine! Problema e la iniţierea programului ... se încarcă greoi ... bănuiesc că e din cauză ca am facut formele şi controalel în modul Designer. În rest totul merge neaşteptat de rapid! E vreo soluţie ptr încărcarea greoaie de la început?
 5/9/2011 11:31:22 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Aplicatie in retea
 (N/A)
 ji_ci wrote
 ...
se încarcă greoi ... bănuiesc că e din cauză ca am facut formele şi controalel în modul Designer.
.....

Ce legatura are? Fara designere, nu s-ar mai numi Visual ...
Solutia de "programator adevarat" era sa scrii tot codul de mana?

 ji_ci wrote
......
 E vreo soluţie ptr încărcarea greoaie de la început?


Vezi in celalalt thread ce ti-am spus despre profiler.
Mai intai trebuie sa determini ce merge greu, apoi vezi se poate face pentru a reduce timpul.


Daniel Buduru
 5/17/2011 8:49:17 AM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
Am anulat toate Sql-urile de la iniţierea programului şi totuşi încărcarea se face foarte greoi (uneori şi 30 s)! Cred că şi reţeaua merge greu! Ce mă fac? Ce soluţii aş mai avea?
 5/17/2011 10:32:35 AM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Aplicatie in retea
 (N/A)
Ai identificat punctul unde sta mult?
Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 5/17/2011 11:43:27 AM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
La Read Events în main.prg! În rest toate sunt sub 0.1!
 5/17/2011 11:48:28 AM
User is offlineDaniel Buduru
2335 posts
1st




Re: Aplicatie in retea
 (N/A)
Poti sa postezi logul? Fisierul generat cu set coverage, neprelucrat.

Daniel Buduru
 5/17/2011 1:09:03 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania) Modified By ji_ci  on 5/17/2011 1:09:58 PM)
Acesta e ... din reţea!
logtime.rar 
 5/17/2011 1:13:19 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
Şi acesta .... e de pe PC!
logtimePC.rar 
 5/17/2011 2:14:46 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Aplicatie in retea
 (N/A)
Diferentele de durate intre cele doua loguri nu sunt atat de mari.
Ce ai in liniile 125 si 129 din menu?
Ce ai in liniile 152 si 184 din frmprincipal.init?
Executabilul se gaseste pe server sau pe local?
Locatia lui este mapata la o litera de unitate, sau ai o comanda de forma \\server\folder\app.exe ?
Set resource e on sau off?
Bibliotecile de rulare  (vfp9r.dll, vfp9renu.dll) unde se gasesc?

Din log nu rezulta ca ai avea un program main, care sa lanseze formul. Asa este?






Daniel Buduru
 5/17/2011 2:37:26 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
 Daniel Buduru wrote
Din log nu rezulta ca ai avea un program main, care sa lanseze formul. Asa este?



Da ... programul main.prg la mine se numeste principal.prg! I-am spus main.prg în postul de mai sus ptr că majoritatea îl denumesc aşa!
O se verific cele ce mi le-ai spus!
 5/17/2011 3:00:26 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania) Modified By ji_ci  on 5/17/2011 3:01:51 PM)
Linia 125 din menu: DEFINE MENU (m.cMenuName) IN (m.oForm.Name) BAR
Linia 129 din menu: SKIP for plUSER = .F. or plWork = .T.
Linia 152 frmprincipal.init : thisform.txtDataInreg.ControlSource = "thisform.DataInreg"
Linia 184 frmprincipal.init : thisform.cboCategorii.RowSource = "Select*from categorii into cursor crsCategorii"  ** M-ai prins ... văd că totuşi am un select! :)
Set resource nu l-am specificat deci e pe ON.
Acum sigur eu gresesc cu executabilul .... dar mi-a fost jenă să întreb cum se procedează! Eu am făcut executabilul cu Build - Win32 Executable! Apoi am lăsat în directorul unde am făcut proiecu doar tabelele şi executabilul ... şi am adăugat bibliotecile de rulare! Apoi directorul l-am pus în reţea! Mă găndesc că nu aşa se procedează .. dar nu ştiu cum altfel.
 5/17/2011 3:37:21 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Aplicatie in retea
 (N/A) Modified By Daniel Buduru  on 5/17/2011 3:39:40 PM)
Inca o intrebare: logtimePC este obtinut ruland aplicatia direct de pe pc-ul unde este instalata pentru a rula in retea?

Timpii din cele doua loguri sunt apropiati, si asta ar indica faptul ca intarzierea apare inainte de instantierea aplicatiei.

Adaugi in proiect un program, biblioratft.prg sau cum vrei sa-i zici.
Acest program va contine setarile initiale si va lansa formul principal al aplicatiei.
Continutul minin al acestui program:

DO FORM frmprincipal
READ EVENTS

Dupa adaugarea in proiect, il setezi main (click dreapta pe el, vezi in menu)

In frmprincipal.unload pui comanda
CLEAR EVENTS

Acum putem stabili daca timpul lung se scurge inainte de instantierea formului, sau la instantierea formului.

In programul biblioraft.prg ( sau cum ii vei zice, dar sa fie programul main) pui pe prima linie:
_screen.AddProperty('time1',seco())

In frmprincipal.DataEnvironment.BeforeOpenTables  adaugi linia:
_Screen.AddProperty('time2',seco())

In frmprincipal.Load adaugi liniile:
_Screen.AddProperty('time3',seco())
DODEFAULT()

In frmprincipal.init, pe prima linie pui
_screen.AddProperty('time4',Seco())
iar pe ultima linie:
_screen.AddProperty('time5',Seco())

Compilezi executabilul.
Mai faci un program din care sa lansezi executabilul:
*Starter.prg
_screen.AddProperty('time0',seco())
RUN biblioraft.exe

? _screen.time1-_screen.time0, 'de la lansare pana la instantierea executabilului'
? _screen.time2-_screen.time1, 'de la lansarea formului pana la dataenvironment beforeopentables'
? _screen.time3-_screen.time2, 'deschiderea tabelelor in dataenvironment'
? _screen.time4-_screen.time3, 'de la form.load pana la form.init'
? _screen.time5-_screen.time4, 'durata form.init'

Prima durata este timpul in care shell-ul gaseste executabilul, incarca bibliotecile de rulare, instantiaza vfp runtime si lanseaza programul main.
Este afectat de sistemul de operare, retea, si saterile implicite ale vfp runtime - se pot ajusta in config.fpw.
A doua durata depinde numai de cod
A treia durata este timpul necesar pentru deschiderea tabelelor. Depinde de configuratia bazei de date
A patra durata este timpul consumat de instantierea obiectelor din form. Depinde de cod si de ce au in controlsource.
A cincea durata este timpul necesar executarii instructiunilor din form.init. Depinde de cod.

Incearca sa faci modificarile si sa rulezi acest cod, apoi arata-ne ce valori ai obtinut.


Daniel Buduru
 5/17/2011 5:08:05 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
 Daniel Buduru wrote

Adaugi in proiect un program, biblioratft.prg sau cum vrei sa-i zici.
Acest program va contine setarile initiale si va lansa formul principal al aplicatiei.
Continutul minin al acestui program:

DO FORM frmprincipal
READ EVENTS

Dupa adaugarea in proiect, il setezi main (click dreapta pe el, vezi in menu)

In frmprincipal.unload pui comanda
CLEAR EVENTS



Partea asta o aveam şi înainte! Programul setat ca main se numea principal.prg! Cu nişte mici improvizaţii am reuşit să aflu t1,t2,t3,t4 şi t5! t0 nu reuşesc ... sper să fie suficiente celealte!
În PC (unitate de unde voi pune în reţea):
t1 = 61048.944
t2 = 61049.025
t3 = 61049.031
t4 = 61049.047
t5 = 61049.050
În reţea:
t1 = 61267,17
t2 = 61272,504
t3 = 61274,326
t4 = 61277,669
t5 = 61279,967


 5/17/2011 5:27:12 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
Am reuşit şi t0 ... cred ca ăsta era cel mai important: Deci valorile în reţea:
t0 = 62495.254
t1 = 62506.296
t2 = 62511.604
t3 = 62513.417
t4 = 62516.867
t5 = 62518.478
 5/17/2011 5:36:11 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Aplicatie in retea
 (N/A) Modified By Daniel Buduru  on 5/17/2011 5:37:49 PM)
 Daniel Buduru wrote
...
*Starter.prg
_screen.AddProperty('time0',seco())
RUN biblioraft.exe

? _screen.time1-_screen.time0, 'de la lansare pana la instantierea executabilului'
? _screen.time2-_screen.time1, 'de la lansarea formului pana la dataenvironment beforeopentables'
? _screen.time3-_screen.time2, 'deschiderea tabelelor in dataenvironment'
? _screen.time4-_screen.time3, 'de la form.load pana la form.init'
? _screen.time5-_screen.time4, 'durata form.init'
....

Lansezi aplicatia dintr-un program, care sa scrie t0.

Mai fa un fisier confing.fpw, in care pui
RESOURCE=OFF
apoi aduci acest fisier in proiect si il marchezi ca inclus

Copiaza vfp9r.dll si vfp9renu.dll in acealsi folder cu executabilul.
Ruleaza exe direct din windows

Dupa cum arata timpii, trec 5 secunde pana la instantierea DE. Apoi timpii sunt consecventi, cca 2 sec pe fiecare interval.
Deschiderea tabelelor dureaza 2 sec, ceea ce n-ar fi mult.
Dupa cum arata timpii, ar fi o problema de retea.
Incearca si de pe un alt pc din acceasi retea.
Daca obtii aceleasi rezultate, muta aplicatia pe alt pc - poate fi vorba de configurarea de retea a acelui post.


Daniel Buduru
 5/17/2011 5:42:27 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Aplicatie in retea
 (N/A)
 ji_ci wrote
Am reuşit şi t0 ... cred ca ăsta era cel mai important: Deci valorile în reţea:
t0 = 62495.254
t1 = 62506.296
t2 = 62511.604
t3 = 62513.417
t4 = 62516.867
t5 = 62518.478


Da.
Deci trec 11 sec pana la rularea programului main al aplicatiei . Aici nu mai este vorba de cod, ci de sistem de operare + retea.
Vezi ce am zis in postul precedent.
O solutie ar fi sa instalezi un sistem de operare "curat" pe o partitie si sa incerci sa pui aplicatia acolo.


Daniel Buduru
 5/17/2011 6:10:27 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
Aceleaşi rezultate şi cu config.fpw! Nu am acces la alt PC din reţea! Nu prea mă pricep la reţele ... ! Eu am pus directorul cu programul direct în partiţia reţelei! Cum pot proteja tabelele din director? Cum sa instalezi un sistem de operare "curat" pe o partitie?
 5/17/2011 6:37:38 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Aplicatie in retea
 (N/A)
Nu ma asteptam ca resuource off sa rezolve integral problema.

Tabelele ar trebui puse intr-un subfolder al aplicatiei, de ex folderul Data pe care il pune vfp la crearea unui proiect cu wizard-ul.
In programul main pui comanda set path to \data;
Nu poti proteja tabelele in windows.
Sistemele de operare file-server au mai multe atribute ale fisierelor, printre care si excluderea de la scanare, dar cu posibilitatea de a fi accesat cu numele complet. Cu alte cuvinte, fisierele nu se vad in explorer sau cu getfile() sau ADIR(), dar pot fi deschise cu calea completa +nume.extensie
Daca vrei sa protejezi baza de date, treci pe un server sql.

Cum testezi aplicatia in retea daca nu ai acces la alt pc?

Cum instalezi un sistem de operare curat? Faci o partite pe hdd (sau folosesti una din partitii, daca ai mai multe) si instalezi acolo un sistem de operare nou. Daca mai exista un sistem de operare pe acel sistem, la instalare se va instala si configura un boot manager, care permite selectarea sistemului in care va porni pc-ul.
Apoi pornesti pc-ul pe noul sistem, partajezi folderul in care se gaseste aplicatia si testezi din nou viteza.

Daca aplicatia se lanseaza normal, problema a fost localizata la configurarea serverului.
Daca tot nu merge, poate tine de sistemul de pe care lansezi aplicatia (clientul). Poti incerca si aici cu un sistem de operare curat, dar deja ar trebui sa faci apel la administratorul de retea pentru rezolvarea problemei.



Daniel Buduru
 5/17/2011 6:43:59 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Aplicatie in retea
 (N/A)
Ce sistem de operare e pe "server"?
Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 5/17/2011 6:50:02 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
Partea cu sistemul de operare curat pe PC nu cred ca trebuie să o fac .... aplicaţia merge f bine pe PC. Doar atunci când o pun în reţea apar problemele! Nu mă pricep la reţele ... deci eu am aşa! Pe PC am 3 partiţii 'Local Disck' si 3 partitii 'Network Drive'! Testez aplicaţia punând-o într-una din  partiţiile Network Drive! Şi o rulez de aici!
 5/17/2011 6:52:37 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
 Grigore Dolghin wrote
Ce sistem de operare e pe "server"?


Nu ştiu ... nu am acces la server!
 5/17/2011 7:45:10 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Aplicatie in retea
 (N/A) Modified By Daniel Buduru  on 5/17/2011 7:48:58 PM)
Instalarea unui sistem curat avea ca scop configurarea parametrilor tcp/ip cu valorile implicite ale windows. Faptul ca aplicatia ruleaza bine local pe acel pc nu elimina alterarea setaorilr tcp/ip pe acel sistem.

In lipsa precizarilor, am presupus ca ai testat aplicatia intr-o retea locala windows, folosind un pc pe post de file-server.
In situatia data, poti rezolva problema numai cu administratorul de sistem.
In urma testelor facute, ai date suficiente pentru a demonstra ca timpul mare de incarcare nu se datoreaza aplicatiei, ci sistemului.

Daniel Buduru
 5/17/2011 7:52:57 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
Şi dacă administratorul nu va reuşi să rezolve problema reţelei ... mai am vreo soluţie?
 5/17/2011 7:54:31 PM
User is offlineGrigore Dolghin
3590 posts
www.class-software.eu
1st






Re: Aplicatie in retea
 (N/A)
Pai fa intr-un fel si afla. Ca Windows 7, de exemplu, are o problema cu driverul SMB2; ar putea fi un Linux acolo care ruleaza Samba; dracu' stie. Si functie de ce e acolo am putea sa-ti sugeram si alte solutii. Vezi tu, retelele astea nu sunt ca priza - bagi stecherul in ea si merge. Mai sunt niste chestii acolo de care trebuie sa tii cont.
Grigore Dolghin
Visual FoxPro MVP 2006 - 2010
Class Software
My blog
 5/17/2011 8:12:37 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
OK ... o să mă interesez ... dar cam toate fişierele din reţeaua respectivă se deschid greoi! Şi treaba faină e că prin aplicaţia asta pe care am făcut-o mai trebuie să şi copiez nişte fişiere din PC în reţea! O să vb cu administratorul şi o să revin cu detaliii! Mulţumesc mult!
 5/26/2011 4:58:37 PM
User is offlineji_ci
191 posts
5th


Re: Aplicatie in retea
 (Romania)
Rămăsesem dator cu o informaţie! Am vorbit cu administratorul reţelei! Pe server e Windows Server 2003 şi reţeaua e destul de proastă .. ptr că are un transfer f slab! Mai pot face ceva în cazul ăstă?
 5/26/2011 5:55:14 PM
User is offlineDaniel Buduru
2335 posts
1st




Re: Aplicatie in retea
 (N/A)
Singur, nu prea ai ce face. Configurarea retelei - atat a serverului cat si a statiilor care se conecteaza - intra in atributiile administratorului de sistem.
Exista posibilitatea (mica, dealtfel) ca protocolul TCP/IP de pe statia ta sa fie configurat necorespunzator.
Poti incerca resetarea parametrilor tcp/ip la valorile implicite, si vezi daca se imbunatateste ceva:
Gasesti aici cum se face asta:
http://support.microsoft.com/kb/299357


Daniel Buduru
  Visual FoxPro  Client/Server  Aplicatie in re...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement