well,
'delay' in "old" pascal is similar to sleep in delphi .. sleep holds the programm/dll.

The delay procedure in my dll do 'Application.ProcessMessages;' for the time you specify. This let all other functions/procedures/events in the programm/dll go on progessing (and of cause in all other programs (mIRC) too). It just hold the procedure/function where you use the delay "command".
So in this special example mIRC will go on working the 2 seconds. Otherwise (if mIRC would hold up progressing) it wouldnt be possible to run the dll a second one befor the first one was finished.

The procedurename "delay" in this dll is confusing, sorry

bye .. Frank