안녕하세요...
VC++에서 작성한 통신 Dll에서 Event를 받고 싶습니다.
VC++에서 VC++로 갈때는
mpiDef.h 파일에
struct mpiEvent {
unsigned int event;
char buffer_stream[MAX_BUFFER_LEN];
...........................
};
typedef int (__stdcall * MPI_CALLBACK)(mpiEvent *event);
선언한 다음에
실제 보여지는 폼에서
int __stdcall MPI_CB(mpiEvent *event);
로 선언해서 이벤트를 받아 내더군요....
이것을 델파이에서 사용하고 싶은데...
어떻게 해야 이벤트를 받을수 있을지, 여러 고수님들의 의견을 듣고 싶습니다.
그럼 수고 하십시요....
흠... 질문내용이 답변을 하기엔 많이 부족한데....
typedef절에 선언되어진 것은 이름으로 보아 콜백함수인거 같은데, 아마도 이 함수포인터를 인자로 받는 함수가 하나 더 있을겁니다. 거기에 typedef절에 선언되어진 함수형과 같은 함수(MPI_CB)를 만들어서 인자로 넣어주시면 될듯...
type
PmpiEvent = ^TmpiEvent;
TmpiEvent = packed record
Event: LongWord;
Buffer_stream: array [0..MAX_BUFFER_LEN-1] of Char;
end;
type
MPI_CALLBACK = function (Event: PmpiEvent): Integer; stdcall;
function MPI_CB(Event: PmpiEvent): Integer;
begin
......
end;
^^ 항상 즐코하세요...