1

Konu: Program Dosyasını Dışarıdan Eklemek

Programın Bir Bölümünün Kodunun dışardan Çalışmasını istiyorum bu mümkün mü acaba ?
SET DEFAULT TO \myprg
LOCAL ad1
ad1="\myprg\gnc.prg"

IF FILE('&AD1')
MESSAGEBOX("DOSYA VAR")
DO &ad1
ENDIF


kodum bu şekilde fakat dosyaya bakıyor do bölümünde problem var bu prg çalışmıyor hatayı bulamadım yardım edeceklere şimdiden teşekkürler

2 Son düzenleyen, konuka (06.07.2010 09:28:05)

Re: Program Dosyasını Dışarıdan Eklemek

dişarda çalışma terimini pek anlayamama rağmen önerilerim:

1.  Desktop Property = .t. yaparsan o form diğer formlardan bağımsız dışarda dolaşır.

2. eğer bağımsız bir program kasdediyor isen, ayrı proje ile (set mainli) compide et - diyelim ki \myprg\gnc.exe olsun - DO &ad1 komutu yerine aşağısını deneyebilirsin...

Visual Fox Pro
lnWindowState = 9 && SW_SHOWNORMAL

lnhWnd = 0
lcop = 'open'
lcparms = ""
lokaldosya=c:\myprg\gnc.exe
lokaldizin=c:\myprg
 
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
*****
ENDI
** çalıştı
RETURN lnresult
VFP9 SP2

3

Re: Program Dosyasını Dışarıdan Eklemek

Bildiğimiz Prg Dosyasını Programdan bağımsız istediğim zaman çalıştırmak istiyorum
ama o projenin dışında olucak istediğim zaman onda değişiklik yapıcam
prg dışarda olduğu içinde programı derlemeden kullanabilicem istediğim bu nu yapabilmek

4

Re: Program Dosyasını Dışarıdan Eklemek

Visual Fox Pro
LOCAL ad1 

ad1="\myprg\gnc.prg"
IF FILE(m.AD1)
MESSAGEBOX("DOSYA VAR")
Compile (m.AD1)
DO (m.AD1)
ENDIF

Gereksiz ve hatta zararli oabilecek & lari kullanma.

5

Re: Program Dosyasını Dışarıdan Eklemek

LOCAL ad1, lcCmd
ad1="\myprg\gnc.prg"

lcCmd = Filetostr(ad1)
Execscript((m.lcCmd)

6

Re: Program Dosyasını Dışarıdan Eklemek

Diger bir yol:

Visual Fox Pro
LOCAL ad1 

ad1="\myprg\gnc.prg"
IF FILE(m.AD1)
MESSAGEBOX("DOSYA VAR")
ExecScript( FileToStr (m.AD1) )
ENDIF

Ancak ilki ile arasinda kullanilan program hafizasi, obje ve degiskenleri gormek acisindan farkliliklar var.

7

Re: Program Dosyasını Dışarıdan Eklemek

Haklısınız Hocam "&" kullanımı alışkanlık oldu .Cevap Veren Herkese Teşekkürler.