would this make any difference?

[pascal]type
VoidFunctionPointer = procedure; cdecl;[/pascal]

[pascal]procedure irqSet(irq: IRQ_MASK; handler: VoidFunctionPointer); cdecl; external;[/pascal]