geht doch
nur eben noch diese unschönheit hier:
anzahl := DragQueryFile(Msg.WParam, $FFFFFFFF, Dateiname, 255);
Wenn als Index $FFFFFFFF angegeben ist wird Dateiname und die Länge für Dateiname ignoriert. Zudem ist Dateiname bei dir zu diesem zeitpunkt ja nicht initialisiert.
Warum dann also nicht so (wenn Dateiname uninitialisiert ist und eh keinen nutzen hat).
anzahl := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 0);