Uygulamaya ait Form lara erişim ve property değeri değiştir

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2054
Kayıt: 12 Haz 2003 03:05
Konum: merkez camii yanı

Uygulamaya ait Form lara erişim ve property değeri değiştir

Mesaj gönderen freeman35 » 14 Kas 2014 02:17

Uygulama ya ait Form lara erişim ve Form'a ait property ye değer atamaya yarayan kod bloğum aşağıdadır. Bu kodu Firebird Event leri geldiğinde her forma göndermek için ayrı ayrı kod yazmak yerine, Kendim bir TForm dan Ata sınıf türettim, bu Ata forma event ler ve diğer standart kullandığım değişken, procedure, function vs kodları ekledim. Bu bana her eklediğim forma sürekli aynı şeyleri eklemekten kurtardığı gibi kod karmaşasından kurtarmış oluyor.

Kod: Tümünü seç

procedure TFRM_Main.DistributeEvent(const Event: Integer);
var I: Integer;
    P: Pointer;
  function HasProperty(Obj: TObject; Prop: string): PPropInfo;
  begin
    try
      Result := GetPropInfo(Obj.ClassInfo, Prop);
    except
      Result := nil;
    end;
  end;

begin
  try
    for I := 0 to Screen.FormCount - 1 do begin
      try
        if (Screen.Forms[I] <> nil) and (Screen.Forms[I].Name <> '') then begin
          P := HasProperty(Screen.Forms[I], 'OnEventCame');
          if P <> nil then SetOrdProp(Screen.Forms[I], P, Event);
        end;
      except
      end;
    end;
  except
  end;
end;
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!

Cevapla