아래와 같이 선언유닛에 하나의 buttonclick메소드를 만들어 두고(`method`라는 문자열을 보여주는)
다른 폼에서 버튼을 누르면 그 메소드가 사용되게 하는 것입니다.
저의 소스로는
[DCC Error] Unit13.pas(31): E2009 Incompatible types: `method pointer and regular procedure`가 나옵니다
검색해보니 메쏘드를 등록하려면 메소드타입(of object)으로 해야한다는 것 같은데 저의 소스로 예제하나 작성
해 주실분 계실까요
--사용할 폼
procedure TForm13.FormCreate(Sender: TObject);
var CM : TCM;
begin
cm:=abcde;
Button1.OnClick:=cm;
end;
--선언하는 유닛(공용유닛)
type
TCM = procedure ();
procedure abcde ();
implementation
procedure abcde ();
begin
Showmessage(`Method`);
end;
이벤트 메소드는 객체의 함수입니다. 따로 객체를 하나 만드시고 거기서 처리하세요