Обектни методи чрез 2

За публикувани събития Delphi генерира пълна информация за декларацията на метода. IDE използва тази информация, за да генерира заглавката на метода, когато събитието е повишено. Ще използваме тази информация, за да определим видовете параметри. Веднага ще дам кода на готовия клас:

Методът MethodExists просто връща true, ако клас C има публикувано събитие с име.

Вторият метод, Invoke, е по-интересен. Той извиква метод на обекта на Instance с име. Аргументи - списък с параметри на метода, Res - връщане на резултат.

  • Обажданията се изпълняват само за модела stdcall. Ако извиканият метод използва различен модел, ще се появи изключение.
  • При повикване не се поддържат повече от 20 параметъра.
  • Параметрите могат да се предават както по стойност, така и по препратка. Разрешен е само модификаторът на var (const, out и т.н. не се поддържат).
  • Като параметри и върнати стойности се допускат само следните типове: Integer, Double, String. Използването на други типове хвърля изключение.