xe5 çalışan kod 10.1 berlinde hata verdi...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Dostk
Üye
Mesajlar: 144
Kayıt: 22 Ağu 2015 12:21

xe5 çalışan kod 10.1 berlinde hata verdi...

Mesaj gönderen Dostk »

Selam.
xe5 de Listview için daha önce satır rengi için kullandığım kod bugün başka bir "10.1 berlin" ile yapmış olduğum projede kullanmak istediğimde ([dcc32 Fatal Error] FLOlist.dpr(16): F2063 Could not compile used unit 'Main.pas') hatası vermeye başladı, bunun sebebi ne olabilir.

Kod: Tümünü seç

procedure TSplitViewForm.ListemCustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
  R: TRect;
  I, NC, TotWidth, Boyut: integer;
begin
  Boyut := 12;
  DefaultDraw := False;
  With Sender.Canvas do
  begin
    if (Item.Index mod 2) = 0 then
    begin
      Sender.Canvas.Font.Size := Boyut;
      Sender.Canvas.Font.Style := [fsBold];
      Sender.Canvas.Font.Color := clBlack;
      Sender.Canvas.Pen.Color := clGreen;
      Sender.Canvas.Brush.Color := RGB(255, 255, 255);
    end
    else
    begin
      Sender.Canvas.Font.Size := Boyut;
      Sender.Canvas.Font.Style := [fsBold];
      Sender.Canvas.Font.Color := clBlack;
      Sender.Canvas.Pen.Color := clGreen;
      Sender.Canvas.Brush.Color := RGB(248, 248, 255);
    end;
    if Item.Selected then // Seçili satır
    begin
      Sender.Canvas.Font.Size := Boyut;
      Sender.Canvas.Font.Style := [fsBold];
      Sender.Canvas.Font.Color := clWhite;
      Sender.Canvas.Pen.Color := clGreen;
      Sender.Canvas.Brush.Color := RGB(255, 69, 0);
    end;

    FillRect(Item.DisplayRect(drBounds));
    R := Item.DisplayRect(drLabel);
    TextRect(R, R.Left, R.Top + 8, Item.Caption);

    NC := Min(Item.SubItems.Count + 1, TListView(Sender).Columns.Count);
    if NC < 2 then
      Exit; // TotWidth := Sender.Column[0].Width;
    TotWidth := 62;
    for I := 1 to NC - 1 do
    begin
      TextOut(R.Left + TotWidth, R.Top + 8, Item.SubItems[I - 1]);
      TotWidth := TotWidth + Sender.Column[I].Width;
    end;
  end;
end;
Hata veren kod:

Kod: Tümünü seç

  NC := Min(Item.SubItems.Count + 1, TListView(Sender).Columns.Count);
Resim
ertank
Kıdemli Üye
Mesajlar: 1716
Kayıt: 12 Eyl 2015 12:45

Re: xe5 çalışan kod 10.1 berlinde hata verdi...

Mesaj gönderen ertank »

Tüm hata mesajlarını gönderebilir misiniz? Gönderdiğiniz sorunun ne olduğunu anlamak için yeterli değil.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: xe5 çalışan kod 10.1 berlinde hata verdi...

Mesaj gönderen ikra »

Math unitini ekleyin.
kıdemsiz üye
Kullanıcı avatarı
Dostk
Üye
Mesajlar: 144
Kayıt: 22 Ağu 2015 12:21

Re: xe5 çalışan kod 10.1 berlinde hata verdi...

Mesaj gönderen Dostk »

Teşekkür ederim...
Cevapla