
--Iconic
Code: Select all
procedure Send_PostMessage(mode, opt: integer); stdcall;
begin
PostMessage(CB_Handle, WM_USER + 10, mode, opt);
end;
Code: Select all
procedure SetCallBackFunc(myCBFunction: TCallBackFunction); stdcall; external 'messageDLL.dll';
procedure TestCallBack(myCBFunction: TCallBackFunction); stdcall; external 'messageDLL.dll';
procedure Send_PostMessage(mode, opt: integer); stdcall; external 'messageDLL.dll';
procedure Send_SendMessage(mode, opt: integer); stdcall; external 'messageDLL.dll';
...
// for each I am doing...
SW := TStopwatch.StartNew;
for ci := 1 to NumMessages do begin
case which of
1: Send_PostMessage(1, 1);
2: Send_SendMessage(1, 1);
3: TestCallBack(CallMeTest);
end;
end;
SW.Stop();
Display(Format('%.3f seconds for '+ss, [SW.Elapsed.TotalSeconds]));