![]() |
|
Dynamic Method Invoke - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Access violation (https://www.delphican.com/forumdisplay.php?fid=136) +--- Konu Başlığı: Dynamic Method Invoke (/showthread.php?tid=4531) Sayfalar:
1
2
|
Dynamic Method Invoke - ismailkocacan - 16-02-2020 Bu soruda; Aşağıdaki unit dosyasını projeye ekledikten sonra, TBirsey sınıfından bir nesne oluşturup, Yap methodunu çağırılması isteniyor. Fakat kullanacağınız unit içindeki uses bloklarında, UnitBirsey isimli unitin tanımlı olmaması gerekiyor. Ayrıca bir memory leak olmaması gerekiyor. unit UnitBirsey;
interface
uses
System.Classes,
Vcl.Dialogs;
type
TBirSey = class(TPersistent)
public
procedure Yap;
end;
implementation
procedure TBirSey.Yap;
begin
ShowMessage('Bir şey yaptım');
end;
initialization
RegisterClass(TBirSey);
finalization
UnRegisterClass(TBirSey);
end.
İyi eğlenceler. Dynamic Method Invoke - SimaWB - 17-02-2020 Bu bölümü hortlattığın için çok teşekkürler @ismailkocacan ![]() P.tesi sabahı, işe başlamadan güzel bir antrenman yapmış oldum senin vesilenle: uses RTTI;
var
RC: TRttiContext;
InsType: TRttiInstanceType;
Obj : TObject;
begin
InsType := (RC.FindType('UnitBirsey.TBirSey') as TRttiInstanceType);
Obj := InsType.MetaClassType.Create;
try
InsType.GetMethod('Yap').Invoke(Obj, []);
finally
Obj.Free;
end;
end;
Cvp: Dynamic Method Invoke - ismailkocacan - 17-02-2020 (17-02-2020, Saat: 09:26)SimaWB Adlı Kullanıcıdan Alıntı: Bu bölümü hortlattığın için çok teşekkürler @ismailkocacanEllerinize Sağlık
Cvp: Dynamic Method Invoke - narkotik - 17-02-2020 (17-02-2020, Saat: 09:26)SimaWB Adlı Kullanıcıdan Alıntı: Bu bölümü hortlattığın için çok teşekkürler @ismailkocacanKodları anlamakla beraber nerelerde kullanıldığını merak ediyorum. Bugüne kadar hiç görmedim. Nasıl problemlerde değerlendirilebilir Cvp: Dynamic Method Invoke - ismailkocacan - 18-02-2020 (17-02-2020, Saat: 22:42)narkotik Adlı Kullanıcıdan Alıntı:(17-02-2020, Saat: 09:26)SimaWB Adlı Kullanıcıdan Alıntı: Bu bölümü hortlattığın için çok teşekkürler @ismailkocacanKodları anlamakla beraber nerelerde kullanıldığını merak ediyorum. Bugüne kadar hiç görmedim. Nasıl problemlerde değerlendirilebilir Nerelerde kullanıldığına dair bir örnek; Remote Method Invocation Alıntı:http://host:port/datasnap/rest/[ClassName]/[MethodName]/[ParamValue] Dynamic Method Invoke - uparlayan - 10-09-2020 Front Control Pattern'de de bu yöntem kullanılabilir. Cvp: Dynamic Method Invoke - ismailkocacan - 11-09-2020 (10-09-2020, Saat: 23:32)uparlayan Adlı Kullanıcıdan Alıntı: Front Control Pattern'de de bu yöntem kullanılabilir.Haklısınız.Ayrıca hardcoded bir yöntem olmamış olur. Eğer buysa, şu methodu çağır gibi bir sürü kod olmaz. Dynamic Method Invoke - uparlayan - 11-09-2020 Hatta o bilgi yığını kullanılarak otomatik menü de oluşturulabilir Cvp: Dynamic Method Invoke - Fesih ARSLAN - 11-09-2020 (11-09-2020, Saat: 21:50)uparlayan Adlı Kullanıcıdan Alıntı: Hatta o bilgi yığını kullanılarak otomatik menü de oluşturulabilir Şu an yalnızca ikiniz (birkaç kişi daha olabilir) aynı frekansta anlaşıyorsunuz. Bizim anlayacağınız bir seviyede, basit de olsa örnekleyerek anlatabilir misiniz @uparlayan üstadım. Dynamic Method Invoke - uparlayan - 12-09-2020 @Fesih ARSLAN ustadım estağfurullah Ayrı bir konu mu açsak bilemedim ama buradaki teknik şimdi özet olarak bahsedeceğim tasarım deseninin ufak ama can alıcı bir noktasını da temsil ediyor. Front Controller (Ön Kontrolör) tasarım modeli, tüm taleplerin, isteklerin tek bir Dispatcher (işleyici) tarafından ele alınabilmesi için merkezi bir talep işleme mekanizması sunar. Bu işleyici, talebin kimlik doğrulamasını, yetkilendirmesini, loglanmasını veya talebin takibini yapabilir ve ardından talepleri ilgili işleyicilere yönlendirebilir. Bu tasarım modelinin 3 temel varlık tipi vardır;
Herkesin aşina olduğu gibi masaüstü bir uygulama üzerinden düşünelim. Normalde alışageldiğimiz haliyle ne yapıyoruz? Ana ekrana bir menü veya bu işi görecek bir treeview veya bir ribbon vesaire ekliyoruz. Sonra bu menüye elemanlar ekliyoruz kimisini actionlara bağlıyoruz kimisini ise onclick olayına bağlıyoruz. Devamında ne yapıyoruz? Actionda veya OnClick olayında gidip bu formları Create ediyoruz, bazılarına parametre veriyoruz vesaire... E güzel, güzel de iş 30-40 formdan sonra kendini tekrarlamaya başlıyor... Aynı kodu 30-40 yerde görmeye başlıyoruz değil mi... Bunu bir problem olarak görmeyenleriniz elbette olacaktır, teknik olarak yanlış bir yol da değil zira sağ elimizle sol kulağımızı tutuyoruz aslında ama programcı olarak "odağımızı" kaybediyoruz. Bu tasarım deseni temelde bize bunu sağlıyor. Ben 30-40 formdan bahsettim ama aranızda yüzlerce form ve menülerle uğraşan arkadaşlarımız da elbette vardır. Bir de onlardan dinlemek isterim siz bu hengameyle nasıl mücadele ediyorsunuz diye... |