AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TPath.Combine, TPath.GetTempPath threadsicher?
Thema durchsuchen
Ansicht
Themen-Optionen

TPath.Combine, TPath.GetTempPath threadsicher?

Ein Thema von zeras · begonnen am 28. Dez 2014 · letzter Beitrag vom 29. Dez 2014
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: TPath.Combine, TPath.GetTempPath threadsicher?

  Alt 29. Dez 2014, 14:22
Sehr grausam, wie hier manche mit den Exceptions umgehen ... indem man versucht diese mit aller Gewalt zu umgehen

Das ist doch absoluter Schwachfug und führt einzig und alleine dazu, dass irgendwas nicht funktioniert, aber keiner merkt es.
Delphi-Quellcode:
Function CopyStream2File(ResourceID: string): String;
var
    ResStream: TResourceStream;
begin
    ResStream := TResourceStream.Create(HInstance, ResourceID, RT_RCDATA);
    try
      //MP3 File aus Resource laden und in Filesystem ablegen
      Result := TPath.Combine(TPath.GetTempPath, 'tmp.mp3');

      ResStream.Position := 0;
      ResStream.SaveToFile(fName);
    finally
      ResStream.Free;
    end;
end;

begin
  Play( CopyStream2File('42') );
end;
Wann passiert es denn, dass ich hier eine Exception bekomme?
  • Die ResourceID ist falsch, weil nicht vorhanden -> Fehler beim Programmierer
  • Das Temp-Verzeichnis ist nicht beschreibbar -> Fehler beim Anwender
Aber anstatt sich den Hinweis hier um die Ohren zu hauen, wird der einfach hübsch versteckt, weil das sieht ja dann "besser" aus. Voll profimässig

Exceptions sind nicht böse, sondern sehr hilfreich.

Und wenn man die Exceptions wirklich nicht anzeigen möchte, dann geht das ganz simpel, indem man Delphi-Referenz durchsuchenTApplication.OnException mit einem Event belegt und dort wenigstens diese Meldungen protokolliert.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz