So in etwas hatte ich das vorhin auch schon versucht, bloß ohne das ",Main".
"rundll32.exe" ist, glaube ich zumindestens, schon der richtige Weg.
DLL in EXE => EXE in DLL
Wenn du es rausfindest, hier die Änderungen im Project1.dpr meines Beispiels:
"
Program Project1;" => "
Library Project1;"
(ergibt "Project1.exe" => "Project1.dll")
Und für Unit2.pas:
"
Project1.exe" => "
Project1.dll"
Function berechnen(W1, W2: Integer): Integer; external 'Project1.dll';