Einzelnen Beitrag anzeigen

zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#1

TPath.Combine, TPath.GetTempPath threadsicher?

  Alt 28. Dez 2014, 15:43
Delphi-Version: XE5
Ich nutzte folgenden Code, um eine Resource in das Filesystem zu schreiben.
Da alles im Hintergrund laufen soll, habe ich das in einen Thread gepackt.
Leider bricht mir dann mein Tablet mit Meldung "Anwendung wurde beendet" nach einiger Zeit ab.
Ich habe dann testweise TPath.GetTempPath gegen den Pfad als String getauscht und nun scheint es zu laufen.
Ist denn TPath eine visuelle Komponente, oder wie kann man sich das Problem erklären?

Delphi-Quellcode:
//kopiert einen Song als Resource in eine Datei
Function CopyStream2File(ResourceID: string; var fName: String): boolean;
var
  ResStream: TResourceStream;

begin
  Result := False;

  ResStream := TResourceStream.Create(HInstance, ResourceID, RT_RCDATA);

  try

    //MP3 File aus Resource laden und in Filesystem ablegen
    fName := TPath.Combine(TPath.GetTempPath, 'tmp.mp3');
// fName := TPath.Combine('/data/data/com.embarcadero.Meinprogram/files/', 'tmp.mp3');

    ResStream.Position := 0;
    ResStream.SaveToFile(fName);
    Result := True;
  finally
    ResStream.Free;
  end;
end;
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat