Danke für die Denkhilfe.
Sendmessage ist die Lösung:
Delphi-Quellcode:
function GetFilenameFromOpenDialog (d: TOpenDialog): string;
const CDM_GETFILEPATH=1125;
var h: integer;
begin
setlength(result,256);
h:=sendmessage(getparent(d.Handle), CDM_GETFILEPATH, 256, integer(@result[1]))-1;
if h<0 then h:=0;
setlength(result,h);
end;