Alias oluşuyor ama Table'larda sorun var.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Ancestor
Üye
Mesajlar: 188
Kayıt: 27 Ara 2004 06:12
Konum: Manisa - Kırkağaç

Alias oluşuyor ama Table'larda sorun var.

Mesaj gönderen Ancestor »

S.a.
Otomatik alias oluşturuyorum, çok güzel çalışıyor. Aynı form üzerinde bulunan table ve query'ler üzerinde işlevsel ama farklı bir formdaki table yada query üzerinde işlem yapmıyor.

Daha açıkçası (mesela) form1'den form2'deki bir Table'ı aktif et diyorum hata veriyor.
Access violation at address 004E7BFA in module 'Project.exe' Read of address 000002F8
Ne yapabilirim?
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Access violation hatasinin anlami henuz create edilmemis bir nesneye ulasmaya calistiginizi gosterir. Bu durumda akla ilk gelen form2 nin auto create forms listesi icinde olmadigi ve kod ile de runtime da create edilmediği bu nedenle yazdiğiniz kodun hata verdiğidir...
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Ancestor
Üye
Mesajlar: 188
Kayıt: 27 Ara 2004 06:12
Konum: Manisa - Kırkağaç

Mesaj gönderen Ancestor »

hmm, peki ne yapılabilir?
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Mesaj gönderen hbahadir »

Elbette nesne çağrılmadan önce ilgili formu create etmen gerekir
Ancestor
Üye
Mesajlar: 188
Kayıt: 27 Ara 2004 06:12
Konum: Manisa - Kırkağaç

Mesaj gönderen Ancestor »

Alias'ı formun create'ine yazıyorum. Devamında programda geçen tüm table ve query'leri aktiflemem gerekiyor.
Aynı formdaki table ve query'ler sorun yapmıyor.
Nesne çağırmadan önce ilgili formu create edemiyor, yada ben edemedim.

Kısaca kodlar şu şekilde gidiyor.

Kod: Tümünü seç

procedure TForm1.FormCreate(Sender: TObject);
var
Data_Dir:String;
begin
Data_Dir := ExtractFilePath(Application.ExeName);
try
Session.ConfigMode := cmSession;
Session.AddStandardAlias(Data_Alias,Data_Dir,Data_Driver);
except
end;

Banka.Table1.Active := True;
Banka.Query1.Active := True;
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

fahrettin yazdı:akla ilk gelen form2 nin auto create forms listesi icinde olmadigi
En kısa yolu Delphi menusunde Project>Options icinde forms tabında available forms listesindeki butun formlari auto-create forms listesine tasiyin...
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Ancestor
Üye
Mesajlar: 188
Kayıt: 27 Ara 2004 06:12
Konum: Manisa - Kırkağaç

Mesaj gönderen Ancestor »

Hepsi orada mevcut ama ısrarla hata veriyo Resim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
peki formların create sırası.
hata verdiği satırdan bi önce formu create etmeyi deneyin. tabi bu durumda autocreate forms listesinden çıkartmanız gerekir.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Kod: Tümünü seç

Banka.Table1.Active := True;
Eğer bu satir hata veriyorsa. Banka isimli form create edilmemiş veya sonradan free edilmiş demektir. Veyahutta Table1 için aynı durum söz konusudur....
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
Cevapla