Ich hab mir den Code mal angeguckt.
1)
Du hast kein "stdcall;" als Aufrufkonvention für "OpenURL()". Es funktioniert trotzdem (, da wahrscheinlich stdcall bei dir als Standard eingestellt ist).
2)
Die
Exception tritt auf, wenn du auf "urls" zugreifst.
Dyn. Array mit 0 Elementen, du greifst ohne Prüfung auf ein Element zu.
3)
Per Debugger hättest du das alles selbst rausgefunden!