![]() |
|
'Abstract Error' - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: 'Abstract Error' (/showthread.php?tid=5799) |
'Abstract Error' - info@guzelceker.com - 14-03-2021 if Dm_Ayarlar.ADS_Departmanlar.RecordCount>0 then
begin
Form_Anasayfa.sTabControl_Departman.Tabs.Clear;
Dm_Ayarlar.ADS_Departmanlar.First;
while not Dm_Ayarlar.ADS_Departmanlar.Eof do
begin
Form_Anasayfa.sTabControl_Departman.Tabs.Add(Dm_Ayarlar.ADS_Departmanlar.FieldByName('DEPARTMAN').AsString);
if not DirectoryExists(Dm_Ayarlar.ADS_Departmanlar.FieldByName('YOL').AsString) then
begin
Showmessage(Dm_Ayarlar.ADS_Departmanlar.FieldByName('DEPARTMAN').AsString+' Arşiv Sayfasının YOL u eşleşmiyor. Lütfen Hepsini Kontrol Edin');
end else
begin
if Dm_Ayarlar.ADS_Departmanlar.FieldByName('ORIJINAL').AsBoolean then
begin
if not DirectoryExists(Dm_Ayarlar.ADS_Departmanlar.FieldByName('ORJYOL').AsString) then
begin
Showmessage(Dm_Ayarlar.ADS_Departmanlar.FieldByName('DEPARTMAN').AsString+' Arşiv Sayfasının ORJYOL u eşleşmiyor. Lütfen Hepsini Kontrol Edin');
end;
end;
end;
Dm_Ayarlar.ADS_Departmanlar.Next;
end;
end else
begin
Showmessage('Hiç Arşiv Sayfasınız Yok ayarlar Kısmından ayarlayınız');
end;
Dm_Ayarlar.ADS_Departmanlar.First;
DepartmanFiltrele;
showmessage düştüğü zaman 'First chance exception at $7655A8B2. Exception class EAbstractError with message 'Abstract Error'. hatası alıyorum neden acaba Cvp: 'Abstract Error' - delphiman - 26-02-2025 (14-03-2021, Saat: 12:44)info@guzelceker.com Adlı Kullanıcıdan Alıntı: Delphi'deki 'EAbstractError' istisnası genellikle alt sınıfta uygulanmamış soyut bir yöntemin çağrıldığını gösterir. Sizin durumunuzda, bu hata FieldByName yönteminin veri kümesinde var olmayan veya düzgün tanımlanmamış bir alana erişmeye çalışmasından kaynaklanabilir. Bu sorunu gidermek için, FieldByName'de kullandığınız alan adlarının (yani, 'DEPARTMAN', 'YOL', 'ORIJINAL', 'ORJYOL') doğru yazıldığından ve veri kümesinde var olduğundan emin olun. Ayrıca, alanlarına erişmeden önce veri kümesinin düzgün bir şekilde doldurulup doldurulmadığını kontrol edin. İşte kodunuzun eklenmiş kontrollerle rafine edilmiş bir sürümü: if Dm_Ayarlar.ADS_Departmanlar.RecordCount > 0 then
begin
Form_Anasayfa.sTabControl_Departman.Tabs.Clear;
Dm_Ayarlar.ADS_Departmanlar.First;
while not Dm_Ayarlar.ADS_Departmanlar.Eof do
begin
if Dm_Ayarlar.ADS_Departmanlar.FieldDefs.IndexOf('DEPARTMAN') <> -1 then
Form_Anasayfa.sTabControl_Departman.Tabs.Add(Dm_Ayarlar.ADS_Departmanlar.FieldByName('DEPARTMAN').AsString);
if not DirectoryExists(Dm_Ayarlar.ADS_Departmanlar.FieldByName('YOL').AsString) then
begin
ShowMessage(Dm_Ayarlar.ADS_Departmanlar.FieldByName('DEPARTMAN').AsString + ' Arşiv Sayfasının YOL u eşleşmiyor. Lütfen Hepsini Kontrol Edin');
end
else if Dm_Ayarlar.ADS_Departmanlar.FieldByName('ORIJINAL').AsBoolean then
begin
if not DirectoryExists(Dm_Ayarlar.ADS_Departmanlar.FieldByName('ORJYOL').AsString) then
begin
ShowMessage(Dm_Ayarlar.ADS_Departmanlar.FieldByName('DEPARTMAN').AsString + ' Arşiv Sayfasının ORJYOL u eşleşmiyor. Lütfen Hepsini Kontrol Edin');
end;
end;
Dm_Ayarlar.ADS_Departmanlar.Next;
end;
end
else
begin
ShowMessage('Hiç Arşiv Sayfasınız Yok ayarlar Kısmından ayarlayınız');
end;
Dm_Ayarlar.ADS_Departmanlar.First;
DepartmanFiltrele;
|