1

Konu: DLL nasıl oluşturulur

bir projede tek bir exe yapmak yerine ana modul alt modulleri dll olarak çağırsın istiyorum. Böylelikle ana modulü değiştirmeden güncellemelerde alt modulleri değiştirebileyim.
yani stok ana exe içinde olacağına stok.dll olsun revizyonda sadece ben onu değiştireyim.
nasıl yapılıyor acaba.

2

Re: DLL nasıl oluşturulur

VFP ile win32 DLL olusturamazsin. Ancak COM DLL olusturabilirsin (multithreaded ya da single). DLL'in kullanici arayuzu olamaz (VFP6'dan beri). Olusturmak basit:

define class myDLLRoutines as session OLEPUBLIC
DataSession = 2
DataPath = "C:\PROGRAM FILES\MICROSOFT VISUAL FOXPRO 9\SAMPLES\data"
Procedure GetCustomerAddress(tcID)
   local lcRetVal 
   select * from (addbs(this.DataPath)+'customer') ;
     where cust_id == upper(m.tcID) ;
     into cursor crsCustomer
  lcRetVal = crsCustomer.Address
  use in 'customer'
  use in 'crsCustomer'
  return m.lcRetval
endproc
enddefine

Sadece yukaridaki kodun oldugu bir projeden MTDLL yaratabilirsin. Cagirilmasi (dll adi myDLL ise):

o = NewObject("myDLL.myDLLRoutines")
? o.GetCustomerAddress('ALFKI')
seklinde.

DLL'ler in-process server'lar ve faydali olduklari yerler cok. Bunun yaninda out-of-process win32 exe yaratabilirsin (normal exe yarattigin gibi). Ancak bu exenin icine sadece belli classlarini koyup kullanici arayuzu de kullanabilirsin.
Hangisini kullanirsan kullan once yardim dosyasindaki ilgili bolumleri "Automation server", "Advanced COM","Selecting Process Types" vs bolumlerin tamamini okuyup anlaman lazim. Konu cok uzun, eger okuyup anlarsan VFP'nin yapabildikleri, dusundugunun cok otesinde olabilir.

3

Re: DLL nasıl oluşturulur

uzbim yazdı:

bir projede tek bir exe yapmak yerine ana modul alt modulleri dll olarak çağırsın istiyorum. Böylelikle ana modulü değiştirmeden güncellemelerde alt modulleri değiştirebileyim.
yani stok ana exe içinde olacağına stok.dll olsun revizyonda sadece ben onu değiştireyim.
nasıl yapılıyor acaba.


Bunun yerine .EXE veya .APP kullanabilirsin. Ama bence iyi bir yöntem değil. Tek bir .EXE versiyon takibi için daha uygun bence. Birçok .APP veya .EXE işi karmaşıklaştırıyor. Dediğin yöntemi tercih eden arkadaşlarım var ama ben tercih etmem. Zaten internet artık çok hızlı. Çabucak download edilebiliyor .EXE ler.

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