1

Konu: coklu kullanici

merhaba arkadaslar

firmamiz icin foxpro ile yapilmis bir program satin aldik
programci tek bir bilgisayar uzerinde gosterirken hersey gayet hizli idi
fakat simdi server e koyup cok kullancili olunca cok yavasladi.
Herhangi bir client dan calistirinca eger sadece bir kisi calistiriyorsa hic bir sorunu yok
ama bir ikinci kiside programa baglaninca cok yavas oluor.
sizce neyden kaynaklaniyor olabilir.

Birde visual foxpro yu nereden edinebilirim?

simdiden tesekkur ederim
saygilarimla
mustafa yildiz

2

Re: coklu kullanici

program foxpro dos mu windows mu? eğer windows ise ve .exe dosyası serverda durup terminaller o exe yi ortak kullanıyorsa bu yüzden yavaşlama olur.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

3

Re: coklu kullanici

program windows. aynen sizin dediginiz gibi server da .exe dosyasi var ve 7 tane terminal o serverdaki .exe dosyasinin kisayolu ile programi calistiriyor.
foxpro nun  cok kullanicili cozumu nedir?
neyi tavsiye edersiniz.
simdiden cok tesekkur ederim
saygilarimla

4

Re: coklu kullanici

ben aşağıdaki kodla yazılmış bir başlatma programı ile çalıştırıyorum.
Mantığı şöyle: sunucudaki esasprogram.exe ile clienttaki esasprogram.exe yi tarih açısından karşılaştırıyor - yenisi var ise clienta kopyalıyor - clienttan programı çalıştırıyor - ilk defa kullanan clientta gerekli dosyaları da kopyalıyor...

Visual Fox Pro
*   PROGRAM BAŞLATICI - HER KULLANICI PROGRAMI SUNUCUDAN KOPYALAYIP KULLANIYOR

#DEFINE AYNI_ANDA "AYNI ANDA İKİ AYNI UYGULAMA ÇALIŞMAMALI"
#DEFINE UYGULAMA_ACIK "UYGULAMA AÇIK"
#DEFINE KAYNAK_YOK "kaynak dosya yok"
#DEFINE MUHTEMELEN "muhtemelen sunucuya bağlanmadınız"
#DEFINE SORUNU_COZEMEZSENIZ "SORUNU ÇÖZEMEZSENİZ SİSTEM SORUMLUSUNA DANIŞIN"
#DEFINE LUTFEN_BEKLEYIN "lütfen bekleyin"
#DEFINE YENI_SURUM "programın yeni sürümü kopyalanıyor"
#DEFINE CRT CHR(13)
 
LOCAL lokaldizin, kaynakdizin, lokaldosya, kaynakdosya, uygulama
 
ON ERROR RETURN
uygulama="exeirs9.exe"
lokaldizin="C:\atenuygulamalar"
 
dlldizin="\\tlsanasunucu\fox\vf9rf"
kaynakdizin="\\tlsanasunucu\fox\prgexe"
 
* önce lokal bilgisayarda dizin oluştur ve vfp dll dosyaları kopyala...
SET PATH TO
IF ! DIRECTORY(lokaldizin)
  MD(lokaldizin)
ENDIF
*vfp9r.dll
*vfp9t.dll
*vfp9renu.dll
*msvcr71.dll
*gdiplus.dll
*msvcr70.dll
 
IF !FILE(lokaldizin+"\vfp9r.dll")
  kaynakdosya=dlldizin+"\*.dll"
  lokaldosya=lokaldizin+"\*.dll"
  COPY FILE &kaynakdosya TO &lokaldosya               
ENDI
 
SET DEFA TO &lokaldizin
 
** PROGRAMIN ÇALIŞIP ÇALIŞMADIĞINI KONTROL ET
IF uygulamaçik(JUSTFNAME(ADDBS(lokaldizin)+uygulama))
  =MESSAGEBOX(AYNI_ANDA,16,UYGULAMA_ACIK)
  RETU
ENDI
 
lokaldosya=ADIR(dosyabilgilerilokal,uygulama)                     && lokal dizin: default
kaynakdosya=ADIR(dosyabilgilerikaynak,ADDBS(kaynakdizin)+uygulama) && kaynak dizin
 
IF kaynakdosya= 0 && kaynak yoksa çık
  =MESSAGEBOX( KAYNAK_YOK+CRT+MUHTEMELEN,16,SORUNU_COZEMEZSENIZ)
  RETU && QUIT
ENDI
 
IF lokaldosya=0 OR ; && ilk defa
   ! dosyabilgilerilokal[1,3]=dosyabilgilerikaynak[1,3] OR ;
   ! dosyabilgilerilokal[1,4]=dosyabilgilerikaynak[1,4]
 
  WAIT WINDOW LUTFEN_BEKLEYIN+CRT+YENI_SURUM NOWAIT NOCLEAR
  SET SAFE OFF  && KULLANICIYA İNSİYATİF İÇİN KALDIRILABİLİNİR
  kaynakdosya=ADDBS(kaynakdizin)+uygulama
  lokaldosya=ADDBS(lokaldizin)+uygulama
  COPY FILE &kaynakdosya TO &lokaldosya   
  SET SAFE ON
  WAIT CLEAR
ENDIF
 
** uygulamayı başlat
lnWindowState = 9 && SW_SHOWNORMAL
lnhWnd = 0
lcop = 'open'
lcparms = ""
*lcfilename = "   " ->lokaldosya=lokaldizin+uygulama 
*lcpath = JUSTPATH(lcFilename) ->lokaldizin
lokaldosya=ADDBS(lokaldizin)+uygulama
 
DECLARE INTEGER ShellExecute IN Shell32;
   INTEGER hWnd, STRING @lpOperation,;
   STRING @lpFile, STRING @lpParameters,;
   STRING @lpDirectory, INTEGER nShowCmd
 
lnresult = ShellExecute(0, @lcop, @lokaldosya,;
   @lcparms, @lokaldizin, lnWindowState)
 
IF lnresult < 33  && Error occurred
  IF lnresult = 31 && No file associated
    DECLARE INTEGER GetSystemDirectory IN Win32API STRING @lpBuffer, INTEGER nSize
    lnsize = 260
    lcbuffer = SPACE(lnsize)
    lnsize = GetSystemDirectory(@lcbuffer, lnsize)
    IF lnsize > 0
      lcbuffer = LEFT(lcbuffer, lnsize)
      lcrundll = "RUNDLL32.EXE"
      lcparms = "shell32.dll,OpenAs_RunDLL "
      lnresult = ShellExecute(lnhWnd, @lcop, lcrundll,;
         lcparms + lokaldosya, lcbuffer, lnWindowState)
    ENDI
  ENDI
ENDI
 
RETURN lnresult
 
***********************************************************
** UYGULAMA TEK ÇALIŞMALI
PROCEDURE uygulamaçik
** uygulamaçik("uygulama.exe")
PARAMETERS myApp
=ddesetoption("SAFETY",.F.)
ichannel = DDEINITIATE(myapp,"ZOOM")
IF ichannel =>0
  =DDETERMINATE(ichannel)
  RETU .t.&& QUIT
ENDI
=DDESETSERVICE(myapp,"define")
=DDESETSERVICE(myapp,"execute")
=DDESETTOPIC(myapp,"","ddezoom")
RETURN .f.
 
************
VFP9 SP2

5

Re: coklu kullanici

peki diger bir terminalin ekledigi bilgi ve resimleri
.exe programini indiren terminal nasil gorecek . o zaman senkronize olmasi mi gerekiyor?
eger oyle olursa cok uzun surmez mi?
birde diger bir kullanicin yaptigi degisiklik bir digerinde program acikken görülebilir mi?

baska networklerdede denemem soylendi , denedimde
fakat nafile
ayni sekilde cok yavas

6

Re: coklu kullanici

problemin sebebi .EXE serverda olunca temprorary (geçici) dosyalar da server'da oluşuyor. yavaşlığın sebebi bu. yazılımcı firmayla görüşüp .EXE dosyasının terminalden çalışıp dosyaları serverda görecek şekilde ayarlamalarını istemeniz gerekiyor. benim VFP ile çalışan tüm programlarım böyle. terminallerde .EXE ana makinada data. o zaman hız problemi ortadan kalkar.
başka networklerde denemek filan dediğin gibi nafile. işe yaramaz. çözüm bu.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

7

Re: coklu kullanici

Anladigim kadariyla program bastan cok kullanici icin dusunulmemis. En iyisi programciyla gorusmek. Onun disindaki denemeler biraz karanlikta atis denemeleri gibi olur.

Mesela soyle bir deneme de yapabilirsiniz. Networkten calistirmak yerine ayni makinede 2 kez calistirmak. Bu da bir cesit cok kullanicili testi olacak ama en buyuk farki aradan network donanim olasiliklarini kaldirmak. O sekilde bile yavasliyorsa sorunun cevabi hemen hemen belli. Olayin networkten kaynaklandigini dusunurseniz alinabilecek bazi onlemler:

1) Config.fpw adli bir dosya exe ile ayni yerde varsa onu notepad ile acin, yoksa yaratin (duz metin dosyasi sadece adi config.fpw).
Icine:

tmpfiles=c:\temp

yazin ve c: surucunuzde de temp diye bir dizin yoksa yaratin.

2) Server'a baglanti \\server\share seklinde ise onun yerine surucu tanimlamasi yapmayi deneyin. Network ayarlarinda IP uzerinden Netbios'un etkin oldugundan emin olun.

3) Serverda virus tarayiciniz muhtemelen vardir. DBF, CDX, FPT dosyalarini tarama listesinden cikarin.

Bunlar karanlikta atislar ama yardimi da olabilir. Isletim sistemine bagli degisikliklerde gerekebilir ama onlar cok daha teknik, karisik ve registry ile oynamayi gerektiyor.

8

Re: coklu kullanici

Metin,
Ilk akla gelen temp dosya trafigi, ama bu yeni bir sistem ise, sadece 7 kullanici ve henuz az olan data bana meselenin o olmadigini dusunduruyor. Network trafigi gozlenebilir ama bu gunun 100/1000 Mbit LAN ortamlarinda bana gore dusuk olasililk.
Bana daha cok sanki buffer kullanilmamis ve otomatik kilitlemeler filan yapiliyor gibi geldi.

9

Re: coklu kullanici

Merhaba,
Ben de yöntem olarak exe yi terminalde datayı server da tutuyorum. Pek sıkıntı çıkmıyor.

Ayrıca;
konuka nın çözümünden yola çıkarak soruyorum. VFP9 içinde exe dosyalarını swap yapma yöntemi nedir? Yani  a.exe çalıştıktan sonra b.exe yi çalıştırıp kendisini yani a.exe yi bellekten silecek. Bunu yapan bir örneğiniz var mı?

10

Re: coklu kullanici

aydinufuk yazdı:

Merhaba,
Ben de yöntem olarak exe yi terminalde datayı server da tutuyorum. Pek sıkıntı çıkmıyor.

Ayrıca;
konuka nın çözümünden yola çıkarak soruyorum. VFP9 içinde exe dosyalarını swap yapma yöntemi nedir? Yani  a.exe çalıştıktan sonra b.exe yi çalıştırıp kendisini yani a.exe yi bellekten silecek. Bunu yapan bir örneğiniz var mı?


benim örnek öyle yapıyor: esas programı çalıştırıp (veya çalıştıramayıp) işini bitiriyor
bir avantajı da ana makinedeki esas programda değişiklik yapınca her client programı açıp kapadığında yeni versiyon yükleniyor. (aksi takdirde yeni versiyonu derlemek için herkese programdan çıkması söylenir smile

VFP9 SP2

11

Re: coklu kullanici

cetinbasoz yazdı:

Metin,
Ilk akla gelen temp dosya trafigi, ama bu yeni bir sistem ise, sadece 7 kullanici ve henuz az olan data bana meselenin o olmadigini dusunduruyor. Network trafigi gozlenebilir ama bu gunun 100/1000 Mbit LAN ortamlarinda bana gore dusuk olasililk.
Bana daha cok sanki buffer kullanilmamis ve otomatik kilitlemeler filan yapiliyor gibi geldi.


benim tmp ile ilgili düşüncem sadece bir tahmin. foxpro dos olan müşterilerimde tmp dosyaları da olsa 50 terminalde bile problem yaşamıyorum. ama VFP kullanan müşterilerimde eğer .EXE server'da ise 7 kullanıcıdan daha az sayıda bile yavaşlama şikayetleri aldım. .EXE yi terminallere alınca problem kalmadı.

bence de 100 mb iyi bir hız ama ben bunu gördüm. belki de problem başka birşeydir. ama çözümü bu... yavaşlama gözle görülebiliyor.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

12

Re: coklu kullanici

Ben bu güne kadar exe nin server dan shortcut ile çalıştırılıp da yavaşladığına şahit olmadım.

Programları aynı anda en az 10 kullanıcı sürekli kullanıyor, aynı program aynı terminalden birden fazlada açılıyor. Temp dosyalar için veya başka şeyler için bir ayarlama da yapmıyorum.

Ama hiç büyük exe yapmadım, birtane start için küçük bir exe diğer tüm uygulamalar değişik app lerin içinden çağrılıyor, bunun hıza etkisi varmı bilmiyorum bence fazla yok, zaten uygulamalara ait programları bir kere çalıştırınca hafızada kalıyor bir dahaki çalıştırmada ilk çalıştırmadan daha hızlı geliyor.

Eğer SQL server veya benzeri database lere remote bağlanılacaksa tamam ama network driver map edilmişse terminallere program kopyalamak gereksiz. Exe swap gibi bir şeyle uğraşmakta gereksiz.

Muse_star ın yavaşlama şikayeti için, hemen exe server üzerinde olduğu için yavaşlıyordur demek şu sorular ve cevapları ortada yokken yanlış.

- Program açılırken mi yavaş.
- Menu den bir item seçildiğinde form veya ne çalışacaksa yavaş mı açılıyor.
- Bir edit işleminden sonra kaydet denilince mi yavaş.
- Data okuma veya yazma anında mı yavaş.
- Server ın gücü Operating sistemi, memory si nedir.
- Terminallerin gücü memory si nedir.

Çetin in dediği gibi aynı makine üzerinde birkaç kere çalıştırıp bakmak lazım, önemli bir gösterge olabilir.

Onun dışında ya network te bir problem var, yada program kötü yazılmıştır.

Bu arada foxpro içinden ShellExecute ile başka bir foxpro programını çalıştırmak akla ziyan bişey.

13

Re: coklu kullanici

bu sadece benim başıma gelmedi. UT'de de bundan şikayet eden ve sorunu .exe dosyasını terminalden çalıştırarak çözenleri çok gördüm...

foxman yazdı:

Ben bu güne kadar exe nin server dan shortcut ile çalıştırılıp da yavaşladığına şahit olmadım.

...

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

14

Re: coklu kullanici

- Program açılırken mi yavaş.
- Menu den bir item seçildiğinde form veya ne çalışacaksa yavaş mı açılıyor.
- Bir edit işleminden sonra kaydet denilince mi yavaş.
- Data okuma veya yazma anında mı yavaş.
- Server ın gücü Operating sistemi, memory si nedir.
- Terminallerin gücü memory si nedir.

Çetin in dediği gibi aynı makine üzerinde birkaç kere çalıştırıp bakmak lazım, önemli bir gösterge olabilir.

Onun dışında ya network te bir problem var, yada program kötü yazılmıştır.

Bu arada foxpro içinden ShellExecute ile başka bir foxpro programını çalıştırmak akla ziyan bişey.


merhaba
program acilirken yavas degil
mesela makine listesinde bir makinenin uzerine tiklayinca makinein resimlerinin de oldugu detayli bir sayfa aciliyor. Bu mesela cok yavas aciliyor ve bilgiler cok sonra geliyor
edi isleminden sonra kaydette cok yavas
server da w2000 var. 1012 DDram
terminallerde cesitli bilgisayarlar var mesela 512 k dade yavas 1024 dede.

ayni bilgisayara yukleyip dediginiz denemeyi yapamiyorum zira ayni pc de ikinci defa baslatinca hata veriyor.

Programci da benim sizden aldigim cevablari tercumem ile bisey ler yapmaya calisiyor. Alman bir programci.

isin ilginc kismi bu programin bir onceki versiyonunu da kullandik. ayni sekilde server dan .exe dosyasina kisa yol veriyorduk. hic bu sorun olmuyordu. yeni versiyonun demosunu bize gosterdiginde aslanda cok sevinmistik. cok hizliydi . ama server a yukleyince su an kimse calisacamz oldu.
Patronun da beni kesmesine az kaldi zaten smile

15 Son düzenleyen, foxman (09.10.2007 16:22:52)

Re: coklu kullanici

Uzaktan meseleyi anlamak ve yardım etmek zor ama. Yavaşlama olayı büyük ihtimalle resimlerden oluyor. Resimler general field lerde saklanıyorsa okuyup yazma esnasında yavaşlıyor olabilir. Tabi büyüklükleri de önemli. Daha fazla buffer kullanımı için aşağıdaki kodu deneyebilirsiniz, memory hatası veren ağır querylerde işe yarıyor belki burdada işe yarar.

Visual Fox Pro
=sys(3050,1,512000000)

=sys(3050,2,512000000)
=sys(1104)
flush

16

Re: coklu kullanici

EXE SWAP örnek kodu var mı elinizde? Bana bu konuda olmasa bile başka bir konuda gerekiyor.

17

Re: coklu kullanici

"ayni bilgisayara yukleyip dediginiz denemeyi yapamiyorum zira ayni pc de ikinci defa baslatinca hata veriyor."

Belki de cevabi buldun. Ne hatasi veriyor.

18

Re: coklu kullanici

konuka yazdı:

ben aşağıdaki kodla yazılmış bir başlatma programı ile çalıştırıyorum.
Mantığı şöyle: sunucudaki esasprogram.exe ile clienttaki esasprogram.exe yi tarih açısından karşılaştırıyor - yenisi var ise clienta kopyalıyor - clienttan programı çalıştırıyor - ilk defa kullanan clientta gerekli dosyaları da kopyalıyor...

Visual Fox Pro
*   PROGRAM BAŞLATICI - HER KULLANICI PROGRAMI SUNUCUDAN KOPYALAYIP KULLANIYOR

#DEFINE AYNI_ANDA "AYNI ANDA İKİ AYNI UYGULAMA ÇALIŞMAMALI"
#DEFINE UYGULAMA_ACIK "UYGULAMA AÇIK"
#DEFINE KAYNAK_YOK "kaynak dosya yok"
#DEFINE MUHTEMELEN "muhtemelen sunucuya bağlanmadınız"
#DEFINE SORUNU_COZEMEZSENIZ "SORUNU ÇÖZEMEZSENİZ SİSTEM SORUMLUSUNA DANIŞIN"
#DEFINE LUTFEN_BEKLEYIN "lütfen bekleyin"
#DEFINE YENI_SURUM "programın yeni sürümü kopyalanıyor"
#DEFINE CRT CHR(13)
 
LOCAL lokaldizin, kaynakdizin, lokaldosya, kaynakdosya, uygulama
 
ON ERROR RETURN
uygulama="exeirs9.exe"
lokaldizin="C:\atenuygulamalar"
 
dlldizin="\\tlsanasunucu\fox\vf9rf"
kaynakdizin="\\tlsanasunucu\fox\prgexe"
 
* önce lokal bilgisayarda dizin oluştur ve vfp dll dosyaları kopyala...
SET PATH TO
IF ! DIRECTORY(lokaldizin)
  MD(lokaldizin)
ENDIF
*vfp9r.dll
*vfp9t.dll
*vfp9renu.dll
*msvcr71.dll
*gdiplus.dll
*msvcr70.dll
 
IF !FILE(lokaldizin+"\vfp9r.dll")
  kaynakdosya=dlldizin+"\*.dll"
  lokaldosya=lokaldizin+"\*.dll"
  COPY FILE &kaynakdosya TO &lokaldosya               
ENDI
 
SET DEFA TO &lokaldizin
 
** PROGRAMIN ÇALIŞIP ÇALIŞMADIĞINI KONTROL ET
IF uygulamaçik(JUSTFNAME(ADDBS(lokaldizin)+uygulama))
  =MESSAGEBOX(AYNI_ANDA,16,UYGULAMA_ACIK)
  RETU
ENDI
 
lokaldosya=ADIR(dosyabilgilerilokal,uygulama)                     && lokal dizin: default
kaynakdosya=ADIR(dosyabilgilerikaynak,ADDBS(kaynakdizin)+uygulama) && kaynak dizin
 
IF kaynakdosya= 0 && kaynak yoksa çık
  =MESSAGEBOX( KAYNAK_YOK+CRT+MUHTEMELEN,16,SORUNU_COZEMEZSENIZ)
  RETU && QUIT
ENDI
 
IF lokaldosya=0 OR ; && ilk defa
   ! dosyabilgilerilokal[1,3]=dosyabilgilerikaynak[1,3] OR ;
   ! dosyabilgilerilokal[1,4]=dosyabilgilerikaynak[1,4]
 
  WAIT WINDOW LUTFEN_BEKLEYIN+CRT+YENI_SURUM NOWAIT NOCLEAR
  SET SAFE OFF  && KULLANICIYA İNSİYATİF İÇİN KALDIRILABİLİNİR
  kaynakdosya=ADDBS(kaynakdizin)+uygulama
  lokaldosya=ADDBS(lokaldizin)+uygulama
  COPY FILE &kaynakdosya TO &lokaldosya   
  SET SAFE ON
  WAIT CLEAR
ENDIF
 
** uygulamayı başlat
lnWindowState = 9 && SW_SHOWNORMAL
lnhWnd = 0
lcop = 'open'
lcparms = ""
*lcfilename = "   " ->lokaldosya=lokaldizin+uygulama 
*lcpath = JUSTPATH(lcFilename) ->lokaldizin
lokaldosya=ADDBS(lokaldizin)+uygulama
 
DECLARE INTEGER ShellExecute IN Shell32;
   INTEGER hWnd, STRING @lpOperation,;
   STRING @lpFile, STRING @lpParameters,;
   STRING @lpDirectory, INTEGER nShowCmd
 
lnresult = ShellExecute(0, @lcop, @lokaldosya,;
   @lcparms, @lokaldizin, lnWindowState)
 
IF lnresult < 33  && Error occurred
  IF lnresult = 31 && No file associated
    DECLARE INTEGER GetSystemDirectory IN Win32API STRING @lpBuffer, INTEGER nSize
    lnsize = 260
    lcbuffer = SPACE(lnsize)
    lnsize = GetSystemDirectory(@lcbuffer, lnsize)
    IF lnsize > 0
      lcbuffer = LEFT(lcbuffer, lnsize)
      lcrundll = "RUNDLL32.EXE"
      lcparms = "shell32.dll,OpenAs_RunDLL "
      lnresult = ShellExecute(lnhWnd, @lcop, lcrundll,;
         lcparms + lokaldosya, lcbuffer, lnWindowState)
    ENDI
  ENDI
ENDI
 
RETURN lnresult
 
***********************************************************
** UYGULAMA TEK ÇALIŞMALI
PROCEDURE uygulamaçik
** uygulamaçik("uygulama.exe")
PARAMETERS myApp
=ddesetoption("SAFETY",.F.)
ichannel = DDEINITIATE(myapp,"ZOOM")
IF ichannel =>0
  =DDETERMINATE(ichannel)
  RETU .t.&& QUIT
ENDI
=DDESETSERVICE(myapp,"define")
=DDESETSERVICE(myapp,"execute")
=DDESETTOPIC(myapp,"","ddezoom")
RETURN .f.
 
************


Konuka ' nın çözümüne alternatif bir çözüm benim kullandığım;

* UT 'den Nick Neklioudov ve George Tasker in ürettiği bir çözüm bu

server da app nin calistigi dizine http://www.fox4um.com/downloads/launcher.zip launcher.exe ve launcher.ini kopyalanacak ve asagidaki islemler yapilacak

1- Server a NetWorkMap (ağ sürücüsü ile bağlanilacak ve bir surucu yaratilacak)
Örn: H:\

H:\My_app dizininde olması gerekenler  && server

2- launcher.exe
launcher.ini
myapp.exe && uygulama exe niz

launcher.ini de
guncellenmesi gereken dosya adları yazılacak

myapp.exe
data\dd.dbf gibi


&& bu sekilde terminalde guncellenmesi gereke ne varsa launcher.ini bunlari server dan cekecek

3- C:\my_app &&client pc de olacak

Client desktop shortcut parametreleri && uygulamaanin kisayolu

Target: (hedef)
H:\my_app\launcher.exe c:\my_app

Start in: (başlangıç yeri)
c:\my_app


bu kısayol uzerinden uygulamanizi calistirdiginizda once serverdaki launcheri calistiracak gerekli guncelleme kontrolunu yapacak .ini dosyadaki belirtilenlere göre eğer güncelleme gerekiyorsa bu dosyalari client a kopyalayacak ve ardindan clieanttan uygulama exe nizi calistiracak.

bu sayede clientlar icin guncelleme ile ilgili takibi unutacaksiniz smile

muse_star ben almanca biliyorum gerekirse sorununu almanca yada ingilizce olarak programciniza iletebilirim ama aldigin hatalari net olarak buraya aktarabilmen gerek...

19

Re: coklu kullanici

soykan
launcher.exe hazır bir kod sanırım. launcher 'ın kelime anlamı ne ? app.exe yi çalıştırınca  kendini hafızadan siliyor mu? Yani swap yapıyor mu? Taktım ben bu swap işine smile  İdare edin artık.

20

Re: coklu kullanici

Metin Hocam;
exenin terminallerde datanın server da olması olayını, 2003 servere uzak masaüstü bağlantılardaki öneriniz nedir. örneğin bir müşterim yaklaşık 70 client ı lisans maliyetinden dolayı, tamamını uzak masaüstü bağlantısıyla çözüp, terminallere işletim sistemsiz (en azından xp,vista) bağlantıyla çözmek istiyor. Tam teknik yapısını bilmiyorum ama sonuçta terminallerde disk olmadan bir şekilde servera uzak masaüstü bağlantıyla çözmek istiyor. böyle bir çalışma ortamında yorumunuz ne olur?

21

Re: coklu kullanici

soykan,
çözümün VFP .dll dosyalarını da içeriyor mu ?

ben kaynak dosyaları da cliente (ilk defa kullanan: örneğin şirkete notebooklu bir yeni eleman alındı) bu kodlarla iletiyorum.- yani sekreter sadece serverdeki başlat.exe dosyasını söylüyor.

aydınufuk'a: başlat.exe dosyası esas programı cliente kopyalayıp çalıştırdıktan sonra hafızadan tamamen kalkıyor.

VFP9 SP2

22

Re: coklu kullanici

erdalyalcin yazdı:

Metin Hocam;
exenin terminallerde datanın server da olması olayını, 2003 servere uzak masaüstü bağlantılardaki öneriniz nedir. örneğin bir müşterim yaklaşık 70 client ı lisans maliyetinden dolayı, tamamını uzak masaüstü bağlantısıyla çözüp, terminallere işletim sistemsiz (en azından xp,vista) bağlantıyla çözmek istiyor. Tam teknik yapısını bilmiyorum ama sonuçta terminallerde disk olmadan bir şekilde servera uzak masaüstü bağlantıyla çözmek istiyor. böyle bir çalışma ortamında yorumunuz ne olur?


terminal server kullanınca lisans maliyeti düşmez. hatta yükselir. her kullanıcı için birer terminal server lisansı gerekir. ayrıca client pc lerde birer işletim sistemi (linux olursa bedava) şart. ms-office yi bedava kullanıcam diyorsa hayal kuruyor. çünkü ms office lisansında bu uyarı var. terminal server ortamındaki tüm office kullanan terminaller için birer lisans alması gerekiyor.

terminallerde disk olmadan ana makinaya erişmenin en güzel yolu thin-client. thin-client içinde de en iyi marka wyse. ben müşterilerime wyse thin-client tavsiye ediyorum. dağıtıcısı arena bilgisayar.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

23

Re: coklu kullanici

erdalyalcin yazdı:

Metin Hocam;
exenin terminallerde datanın server da olması olayını, 2003 servere uzak masaüstü bağlantılardaki öneriniz nedir. örneğin bir müşterim yaklaşık 70 client ı lisans maliyetinden dolayı, tamamını uzak masaüstü bağlantısıyla çözüp, terminallere işletim sistemsiz (en azından xp,vista) bağlantıyla çözmek istiyor. Tam teknik yapısını bilmiyorum ama sonuçta terminallerde disk olmadan bir şekilde servera uzak masaüstü bağlantıyla çözmek istiyor. böyle bir çalışma ortamında yorumunuz ne olur?


Uzak masaüstü bağlantı ile Lisans olayı halledilmiyor. Yani Server'a bir Office yükleyip 50 kişiye Uzak bağlantı ile kullandıramazsınız (Aynı anda kullanılmasa bile). Eğer senin programın sözkonusu ise, adam senden tek bir lisans alıp Uzak bağlantı ile birçok kişiye kullandırmayı düşünüyorsa sen kazıklanmış oluyorsun.

24

Re: coklu kullanici

aydinufuk yazdı:

soykan
launcher.exe hazır bir kod sanırım. launcher 'ın kelime anlamı ne ? app.exe yi çalıştırınca  kendini hafızadan siliyor mu? Yani swap yapıyor mu? Taktım ben bu swap işine smile  İdare edin artık.


hazir .exe ama vfp ile yapilmis bir .exe

yaptigi once serverdaki .exe yi calistirmak ve ve start in de ki exe versiyonu ile karsilastirmak ,
eger serverdaki exe daha yeni ise bunu terminale kopyalamak ve yeni exe ile baslamasini saglamak
tabii yaptigi sadece exe degil .ini icine yazdiklarini da kontrol etmek ve gereken yere kopyalamak...

swap yapmiyor

25

Re: coklu kullanici

konuka yazdı:

soykan,
çözümün VFP .dll dosyalarını da içeriyor mu ?

ben kaynak dosyaları da cliente (ilk defa kullanan: örneğin şirkete notebooklu bir yeni eleman alındı) bu kodlarla iletiyorum.- yani sekreter sadece serverdeki başlat.exe dosyasını söylüyor.

aydınufuk'a: başlat.exe dosyası esas programı cliente kopyalayıp çalıştırdıktan sonra hafızadan tamamen kalkıyor.


kopyalanmasini istedigin dll dosyalari varsa bunlari .ini dosyasi icinde belirtebilirsin