Also ich habe das Problem jetzt alleine lösen können.
Es war allerdings einfacher als gedacht :
Erst erstelle ich eine Datei mit :
TFileStream.Create(savedir, fmShareDenyNone or fmCreate);
Dann gebe ich diese wieder frei und öffne sie mit
CreateFile(PChar(savedir),GENERIC_WRITE,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
wieder und kann die Datei beschreiben und gleichzeitig mit einem Player darauf zugreifen.
Jetzt stehe ich vor dem Problem das ich, falls die Datei schon zum Teil vorhanden ist den Download fortsetzen möchte.
Das Problem was nun auftaucht ist das er wieder am Anfang der Datei beginnt zu schreiben.
Gibt es eine methode den Aufruf von
CreateFile(PChar(savedir),GENERIC_WRITE,FILE_SHARE_READ,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
so zu modifizieren das er den Pointer an das Ende der Datei setzt.
schomal danke für euere Hilfe