invalid class typecast Hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
GURGAH
Üye
Mesajlar: 22
Kayıt: 10 Ağu 2010 06:10

invalid class typecast Hatası

Mesaj gönderen GURGAH »

Merhaba
Ben formun içindeki bir nesyeyi bulup bulduğum nesnenin caption özelliğini değiştmek istiyorum bu işlemi

Kod: Tümünü seç

 while not FDset.Eof do
   begin
    lKodu:=FDset.FieldByName('KODU').AsInteger;
    (FindComponent('lbl_s'+IntToStr(lKodu))as TLabel).Caption:=QuotedStr(FDSet.FieldByName('ADI').AsString);
    FDset.Next;
   end;
Şeklinde yapmayı planladım. Ancak

Kod: Tümünü seç

    (FindComponent('lbl_s'+IntToStr(lKodu))as TLabel).Caption:=QuotedStr(FDSet.FieldByName('ADI').AsString); 
Satırına Geldiğinde " invalid class typecast " diye hata veriyor. BirTürlü Bulamadım.

Kod: Tümünü seç

 QuotedStr(FDSet.FieldByName('ADI').AsString); Yerine 'Deneme ' bile yazsam sonuç aynı.  
Yardımcı Olabilirseniz Sevinirim.
Not: Amacıma Case of ile ulaşabiliyorum ancak çok sayıda label olduğu için işlemi kısaltmak istiyorum.
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: invalid class typecast Hatası

Mesaj gönderen orhancc »

Bu şekilde sadece labellerde etki etmeesini istiyorsan is TLabel mi diye kontrol et sorunun çözülür.

Kod: Tümünü seç

  Comp: TComponent;
begin
  for i := 0 to ComponentCount - 1 do
  begin
    Comp := Components[i];
    if Comp is TCheckBox then
      chkText := chkText + BoolToStr((Comp as TCheckBox).Checked) + ',';
  end;
end;
GURGAH
Üye
Mesajlar: 22
Kayıt: 10 Ağu 2010 06:10

Re: invalid class typecast Hatası

Mesaj gönderen GURGAH »

hocam dediğiniz gibi label mi diye kontrol ettirme yoluna girdim. Ancak

Kod: Tümünü seç

var
i:integer;
Comp:TwinControl;
begin
 for i :=0 to Comp.ComponentCount -1 do   // Bu Satırda Hata Veriyor.
 ......
İlgili Satıra geldiğinde Access Violation Hatası Veriyor. :S
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: invalid class typecast Hatası

Mesaj gönderen orhancc »

comp TComponent olması lazım ama
GURGAH
Üye
Mesajlar: 22
Kayıt: 10 Ağu 2010 06:10

Re: invalid class typecast Hatası

Mesaj gönderen GURGAH »

Söylemeyi unuttum . aslında ilk Tcomponent olarak tanımladım. yine access hatası alınca twincontrol olarak değiştirip deneyim dedim. onda da acces violation hatası aldım.
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: invalid class typecast Hatası

Mesaj gönderen orhancc »

sen kodu değiştirmişsin döngü içinde aktif componenti comp içine atman lazım.
Cevapla