//Network konfigürasyonunun uygun biçimde ayarlanması
//...::::::( KORSAN )::::::...\\
//Normalde paradox, dbase gibi veritabanları ilk geliştirildiklerinden
//itibaren network üzerinden çalışması için planlanmışlardır. Buna rağmen
//eğer burada anlatacaklarımız konusunda bilginiz yoksa, bu veritabanlarını
//Delphi ile kullandığınızda programlarınızın network üzerinden çalışmıyor
//olması hiç de şaşırtıcı olmaz. Bunun sebebi network üzerinden çalışırken,
//hangi kullanıcının o an ne yaptığı, hangi kayıdı değiştirmekte olduğu gibi
//konularda network üzerinden çalışan veritabanı uygulamaları arasında
//koordinasyonu sağlayan "netfile" dosyasının konfigürasyonunu yapmamış
//olmanızdandır.
//Delphi veritabanı uygulamanızı çalıştırdığında bir tek veritabanınız
//olsa dahi default olarak bir TSession ve TDatabase nesnesi oluşturur.
//TSession, veritabanının o an kullandığı Database'lerin kontrolünden
//sorumludur. Bu database'ler bir BDE Alias'ı, hard diskinizde bir dizin
//olabilir. TDatabase nesnesi işte bu dizin ve aliasların kontrolünden
//sorumludur. Ama bizim burada kullanacağımız nesne TSession. Default olarak
//oluşturulan TSession nesnesinin adı Session dır.
//Başlangıç olarak programınızı network üzerinde bir yere kurduğunuzu
//düşünelim. Bütün kullanıcılar herhangi bir makina üzerinden programın
//exe'si ni çalıştırabilirler. Fakat eğer siz aksini belirtmezseniz daha
//önce bahsettiğimiz network kontrol dosyası normalde C harddiskinin ana
//dizininde oluşturulur. Oysa ki network üzerinde veritabanınızı kullanan
//bütün programların aynı dosyayı kullanması gerekir.
//Bunun için programınızı kurduğunuz F:\PROGRAM dizini altında NETWORK adlı
//yeni bir dizin oluşturun ve programınızın ana formunun oncreate olayı
//içerisinde aşağıdaki gibi network kontrol dosyasının yerini belirtin.
//Diğer dizin ise kullanıcının harddiskinde geçici dosyalarını koymak için
//kullanacağı private directory'dir. Bunun kullanıcın kendi harddiski içinde
//olması hem performansı arttırır, hem de network üzerinde kullanıcılar
//arasında doğabilecek karışıklığı önler.
procedure TformMain.FormCreate(Sender: TObject);
var
Buf : array[0..256] of char;
T : TSearchRec;
begin
Session.NetFileDir := ExtractFilePath(Application.ExeName) + 'network\';
GetTempPath(255, Buf);
Session.PrivateDir := Buf; Session.Open;
end;
//Eğer aynı makina üzerinde programınızın veya aynı veritabanını kullanan
//programların aynı anda sorunsuz açılabilmesini istiyorsanız private
//dizinini windows'un template dizini altında her program için ayrı ayrı
//oluşturacağınız ve program bitiminde sileceğiniz dizinler olarak
//belirtmeniz yararlı olabilir.