la risposta è abbastanza semplice.
l'handle altro non è che l'handle "nel senso windows", ovvero della API32.
Questo esiste per ogni finestra windows, anche per la finestra principale dell'applicazione delphi (* nota, qui ci andrebbero 74 precisazioni, ma non le faccio perchè siamo in modalità niubbo-like *)
E' quindi "normale" che un programma delphi "normale" abbia un handle, mentre una DLL no.
In questo caso devi passare alla DLL l'handle della finestra dell'applicazione che chiama la DLL.
---
Per inciso: ma che senso ha fare DLL in delphi? Se c'è una cosa "bella" è quella di poter far programmi monolitici, altro che approcci stile-100.000.dll che non funzionano! (es. VB e "cugini")![]()