Büyük ihtimal connection de problemin var, bunu halletmek için bağlantı kısmı mesela c:\abc\def\a.mdb gibi bir dosyayı gösteriyorsa, dosyayı programın yanına taşıyıp sadece a.mdb şeklinde yaparsan hallolur. O zaman sadece yanında olması yeterli olur. |
getcurrentdir adlı string çıktılı komut geçerli sizi verir ama tavsiye etmem.yan bar veya başalngıç dizni faklrı bir kısayol ile çalıştırlırsa uygıulama farklı dizin veriri bir diğeri paramstr(1) buda geçrli yolu verir extractfilename(); diyerek çıakrabilirsn ama sana şunu tavsiye ederim ExtractFilePath(pansichar(Application.exename)) |
Çok sağol denedim program kilitlendi ![]() Alias yanlış diyor hala... |
nasıl becerdin yaws. access violation mı oldu sen bu kodları önce tek başıan bir kontrol et sonra programa ekle istersen ![]() |
böyle olmicak drony msn varmıydı ![]() |
Senin hangi dille uğraştığını çözemedim daha :)) kullandığın VERİTABANI ve Nesne türlerini yaz sana yol gösteririm biraz .. ![]() Arkadaşların yaptıkları açıklamarla deil bu olay BDE administrator Alias larıyla ilgili... |
Her dalda biraz ilerlemeye çalışıyorum :) asp,php var onlarda yaza ![]() DefaultDD dbase for windows da tablo bunu başka bi yere taşıyınca da kullanmam gerekiyor.ama başka bir bilg. e gidince db tablo yerininde değişmesi lazım bu tabloyu kendi içine atıp yerinide orası olarak belirlemem lazım nasıl olacak çözemedim :) |
http://k.domaindlx.com/dronyx/adoconnect.z //örnek bana dün gönderdiğin kod eksikti formun sadece yardım kısmı açıldı yarısını unutmuşsun. neyse resimde table kullanmışsın(onunla sadece dsn üzerinde bağlabilirsin. ve dsn ayarlarını karşı bilgisayarda yüklemk gerekir.) bence onun yerine adotable nesnesi kullan ayrıca onunlada dsn kullanabilrisn. ama tavsiyem path sistemi olacaktır. öncelikle forma adotable ,dbgrid ve datasource nesnelerini ekle ve datasource1 in dataset yazan kontrolünden adotable1 i seç. dbgrid1 inde datasource kontrolünden datasource1 i seç. sonra adotable1. den connectionstring ten gerekli ayarları yap (ayrıca dsn ayarlarınıda yükleyebilrisn buradan) sonra orada uzun bir string çıkacak sonra onu olduğu gibi kopyala; sonra bu stringi(oradaki yazı) bir widestring değişkenine ata yada direct ADOTable1.ConnectionString 'e ata örn. var dbpath:string; begin dbpath:='c:\dizin\db.mdb' ADOTable1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+dbpath+';Persist Security Info=False'; ADOTable1.TableName:='mesajlar'; //tablo adı adotable1.Active:=true; end; ayrıca örneğin. database ile program aynı dizin veya altdizininde olacak diyelim bunuda dbpath:=ExtractFilepath(Application.Exename)+'\db.mdb'; şeklinde tanıtabilirsin. sonra adotable1 den tablename ve field den istediğin tablo ve alanları seç. ve active et bu kadar |
Tam yollanmadı sanırım..Neyse bilgiler için saol uğraştın o kadar deneyeyim bakayım olcak mı :) |
Yahu önce kodu yazıp sonramı düşünüyorsun sen ![]() Arkadaş :
Demiş dikkat edersen :) Sen Access veritabanı ile ado bağlantısını anlatmışsın :) Tek yapman gereken Form üzerine bir TDATABASE nesnesi koymak :) BDE aliasları dışardan yönetme kabiliyetine sahip bir program biz bunu database nesnesi ile programa aldık mı tamam olay hepsi bu !! TTable nesnesi ve TDatasource nesnelerinde database türü farketmez. örn.: Databse1 -> nesne özellikler drivername -> standart seçili olacak (Dbase içinde olur) Databasename -> Salla mesela Green :) Aliasname -> dokunma boş kalsın :) daha sonra delphi içinde yeni bir alias oluşmuş olacaktır !. databaseini program dizinine aç ve Table1 in Table Name özelliğine (databaseismi.uzantı) yaz dizin vermeden ! Biraz uğraş eğer yapamassan sana çok basit bir şey hazırlar webe yüklerim bu başlangıç olsun. Programı taşırken dikkat etmen gerekenlerde sonraki konu olsun. Kolay gelsin... |
< Resime gitmek için tıklayın > söylediğin tüm şeyleri yaptım eminim doğru olduğuna da ama başka bilgisayar da çalıştırınca bu hatayı veriyor. |
http://rapidshare.de/files/1708971/DomainKay_tProgram.rar.html Burada ki daha önceden yazdığım küçük örneği inceleyerek daha iyi fikir sahibi olabilirsin. Ek olarak..: Delphide yazılmış veritabanı programlarının hemen hemen tamamı BDE administrator programına ve program altında yerleşik DLL dosyalarına ihtiyaç duyarlar.Eğer anlattığm şekilde TDatabase dosyasını projene eklersen bu sadece programının BDE de configure ettiğin ALIAS sorununu devre dışı bırakır. Yani TDATABASE sayesinde program kendi aliasını kendi üreterek BDE den kaynaklanan yavaşlama ve Run sorunlarının önüne geçilir!. Bununla birlikte local table dosyaları ile Nesnel olarak bağlantı sağlıyorsan BDE'yi her halükarda diğer bilgisayara taşımalısın!. Eğer diğer bilgisayarda delphi kullanmıyorsan Borland installshield ile basit bir installshield hazırla ve BDE sistem gerekliliklerinde Merge modul olarak ekle. Installshield olarak BDE yi sisteme gerekli ayarları ile birlikte taşımazsan projen çalışsa bile bazı hatalar oluşur. Niye peki ? Bde içerisindeki DLL dosyalarında bulunan bağlantı fornksiyonları ve argumanlar delphi ile gelen Data Objeleri ile ilişkilidir.Yani objeler database e BDE üzerinden erişir LOCAL projeler genelde böyledir. Uzun lafın kısası Karşı sistemde BDE olmalı (paradox,Dbase,Vdbase) gibi veritabanları için mecbur. Interbase yada SQL server gibi gelişmiş veritabanlarının zaten kendi altyapıları var ve BDE'yi sadece kopyalarsanda olmaz ! Karşı sisteme installshield kullanarak aktarmanı yada delphi setup'ından yükleme yapmanı öneririm. Birde unutmadan daima data bağlantıları yaptığın Form ve objeleri Application da ilk Create Yap! HATA NEDENİ..: BDE Kolay gelsin... |
Farkındayım seni çok uğraştırdım ama bu program açılmıyor,hata veriyor ![]() ![]() |
O kısım önemli deil de Yahu 5 paragraf açıklama yaptım ![]() Açmaya çalıştığın bilgisayarda BDE kurulumu ??? BDE -> Borland Database Engine |
:) BDE olmadan LOCAL bir DBase veritabanı uygulamasını karşı bilgisayarda çalıştıramazsın :) bunun için programı yazdığın makinede basit bir installshield hazırlamasın BDE ekleyerek yada BDE delphi CD sinden kurmalısın!
|
Açıklamalar için çok sağol gerçekten çok şey öğrendim senden ayrıca![]() |
peki BDE yi delphi den nasıl parçalayıp onun içine aktarcam ? ![]() |
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.