Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
'Abstract Error'
#1
  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
Cevapla
#2
(14-03-2021, Saat: 12:44)info@guzelceker.com Adlı Kullanıcıdan Alıntı:
  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

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;
-----------------------------------------
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  OAuth2 login is not setup properly error batuakin 9 2.170 04-04-2025, Saat: 15:06
Son Yorum: hi_selamlar
  ip kameradan gelen resimde jpeg error #53 hatasi sadikacar60 5 1.161 01-10-2024, Saat: 08:08
Son Yorum: mrmarman
  range check error avaates 7 1.770 03-07-2024, Saat: 12:48
Son Yorum: sso
  [Error] RLINK32: Too many resources to handle. yunusemre 0 1.041 04-05-2022, Saat: 18:55
Son Yorum: yunusemre
  internal server error (500) hatası.. enigma 15 11.423 27-12-2021, Saat: 21:28
Son Yorum: enigma



Konuyu Okuyanlar: 1 Ziyaretçi