{"id":181,"date":"2007-05-12T16:43:08","date_gmt":"2007-05-12T14:43:08","guid":{"rendered":" http:\/\/www.nsonic.de\/blog\/2007\/05\/run-a-routine-by-name\/"},"modified":"2007-05-12T16:43:10","modified_gmt":"2007-05-12T14:43:10","slug":"run-a-routine-by-name","status":"publish","type":"post","link":"https:\/\/www.nsonic.de\/blog\/2007\/05\/run-a-routine-by-name\/","title":{"rendered":"Run a routine by name"},"content":{"rendered":"<p>[code lang=&#8221;delphi&#8221;]type<br \/>\n  TExecute = procedure of object;<\/p>\n<p>procedure TForm1.ExecuteRoutine(Instance: TObject; Name: string);<br \/>\nvar<br \/>\n  Routine: TMethod;<br \/>\n  Execute: TExecute;<br \/>\nbegin<br \/>\n  Routine.Data := Pointer(Instance);<br \/>\n  Routine.Code := Instance.MethodAddress(Name);<br \/>\n  if Routine.Code = nil then Exit;<br \/>\n  Execute := TExecute(Routine);<br \/>\n  Execute;<br \/>\nend;<\/p>\n<p>procedure TForm1.Button1Click(Sender: TObject);<br \/>\nbegin<br \/>\n  ExecuteRoutine(DataModule2,&#8217;Hello&#8217;);<br \/>\nend;<br \/>\n[\/code]<\/p>\n<p>[tags]Delphi, Misc[\/tags]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[code lang=&#8221;delphi&#8221;]type TExecute = procedure of object; procedure TForm1.ExecuteRoutine(Instance: TObject; Name: string); var Routine: TMethod; Execute: TExecute; begin Routine.Data := Pointer(Instance); Routine.Code :=&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[11],"tags":[75,107],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p71Tml-2V","_links":{"self":[{"href":"https:\/\/www.nsonic.de\/blog\/wp-json\/wp\/v2\/posts\/181"}],"collection":[{"href":"https:\/\/www.nsonic.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nsonic.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nsonic.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nsonic.de\/blog\/wp-json\/wp\/v2\/comments?post=181"}],"version-history":[{"count":0,"href":"https:\/\/www.nsonic.de\/blog\/wp-json\/wp\/v2\/posts\/181\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.nsonic.de\/blog\/wp-json\/wp\/v2\/media?parent=181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nsonic.de\/blog\/wp-json\/wp\/v2\/categories?post=181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nsonic.de\/blog\/wp-json\/wp\/v2\/tags?post=181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}