AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlertoleranz DELPHI, TEIL #2

Ein Thema von bernhard_LA · begonnen am 1. Dez 2012 · letzter Beitrag vom 1. Dez 2012
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

AW: Fehlertoleranz DELPHI, TEIL #2

  Alt 1. Dez 2012, 09:14
Mal unabhängig von der Ursachenforschung; die korrekte Funktion sieht so aus:
Mal unabhängig von der Ursachenforschung; die ursprüngliche Funktion aus dem Internet hatte Boolean als Rückgabewert, und die sagte einem ob die Funktion erfolgreich war. Man kann auch String als Rückgabewert nehmen, muss dann aber selbst auf Erfolg prüfen.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Fehlertoleranz DELPHI, TEIL #2

  Alt 1. Dez 2012, 09:24
die ursprüngliche Funktion aus dem Internet hatte Boolean als Rückgabewert, und die sagte einem ob die Funktion erfolgreich war
Das ist eine schlechte Technik (siehe Thread http://www.delphipraxis.net/171901-f...ml#post1193831).
Ich habe oben noch den Aufruf von Read() nach ReadBuffer() geändert.
Somit ist gewährleistet, dass die Funktion entweder mit dem String zurückkehrt oder eine Exception liefert.
Der einzige Schwachpunkt wären Dateien die grösser sind als der String an Daten aufnehmen kann (2/4GB-Limit).
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#3

AW: Fehlertoleranz DELPHI, TEIL #2

  Alt 1. Dez 2012, 09:32
Dann wirft SetLength eine schöne Exception und man hat ebenfalls ein passendes Ergebnis.

Nja, aber du meinst 1, bzw 1.5 GB (4 GB nicht, denn das ist nicht umsonst eine 3GB-Option), denn dre String braucht einen zusammenhängenden Speicherblock.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#4

AW: Fehlertoleranz DELPHI, TEIL #2

  Alt 1. Dez 2012, 10:48
Laut Dokumentation kann ein String in Delphi maximal 2 GB belegen - unabhängig von eventuell höherem Speicherausbau oder 32/64-Bit Compiler. Die Anzahl der möglichen Zeichen und somit der maximale Wert für SetLength ergibt sich daraus. Dabei muss der benötigte Speicher für String-Verwaltung (Länge, Referenz-Zählung) evtl. noch berücksichtigt werden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:37 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-2025 by Thomas Breitkreuz