Zeos 라이브러리를 사용해서 코딩을 하고 있는데요,
디자인타임에 쿼리오브젝트의 이벤트 핸들러를 오브젝트 인스펙터의 이벤트 탭에가서 해당 이벤트를 더블클릭하면 만들어지는 것을 보고, 비슷하게 흉내를 내서 동적오브젝트의 이벤트 핸들러를 만들어 봤는데 동작이 안되는 것 같다는 느낌이 듭니다.
제가 한 방법은
<!--CodeS-->
type
TForm1 = class(TForm)
...
...
procedure qryPostError(..........);
private
...
end;
...
procedure TForm1.Button1Click(Sender: TObject);
var
qry: TZQuery;
begin
...
qry := TZQuery.Create(self);
...
end;
procedure TForm1.qryPostError(......);
berin
....
end;
<!--CodeE-->
와 같이 동적으로 생성한 쿼리 오브젝트의 변수명을 따서 PostError를 뒤에 붙인 프로시져명으로 private절 위에도 넣어주고, 아래에도 프로시져를 코딩해 주었습니다.
컴파일은 잘 되는데...실행을 해보면 에러가 날때 이벤트 핸들러로 가지 않는 듯합니다. 그렇게 생각하는 이유는 화면에 에러 메시지 박스가 뜅~ 떠버리고 이벤트 핸들러 내에서 테스트 용으로 출력하라고 한 것도 출력이 안되거든요.... ㅠㅠ
이벤트 핸들러로 등록시킬 때는 별도로 어떤 작업을 해줘야 하나요?
이벤트핸들러를 연결시켜주셔야죠...
qry := TZQuery.Create(self);
qry.OnPostError := qryPostError;
그리고 직접코딩해서 만드신 이벤트라면 private, public, protected영역으로 옮기세요.
^^ 항상 즐코하세요...