AGB  ·  Datenschutz  ·  Impressum  







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

procedure System.Fail?

Ein Thema von KingIR · begonnen am 9. Apr 2006 · letzter Beitrag vom 9. Apr 2006
Antwort Antwort
Benutzerbild von KingIR
KingIR

Registriert seit: 19. Feb 2006
81 Beiträge
 
Delphi 2006 Professional
 
#1

procedure System.Fail?

  Alt 9. Apr 2006, 13:02
Hallo!

Bin grade über eine mir bis Dato unbekannte Prozedur gestolpert. Sie heißt Fail und ist eine der Prozeduren für die Delphi so tut, als wäre sie in der Unit System deklariert, in Wirklichkeit aber direkt in den Compiler eingebaut ist.

Google konnte auch nicht helfen, genausowenig die Delphi-Hilfe, also, weiß jemand von euch was diese Prozedur tut? Evtl. melden dass das Erstellen eines Objektes fehlgeschlagen ist (der Aufruf befindet sich in einem Konstruktor) und dann wie exit abbrechen?

Der Code, um den es sich handelt, stammt aus dem Projekt curlpas, siehe angehängter Screenshot.

Gruß & Dank!
Miniaturansicht angehängter Grafiken
system.fail_140.png  
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: procedure System.Fail?

  Alt 9. Apr 2006, 13:11
die procedure fail ist nicht direkt im Compiler eingebaut sondern befindet sich tatsächlich in der Unit System. Die funktion ist komplett in Assembler und nach den Kommentaaren zu urteilen bewirkt sie das der speicher frei gegeben wird wenn ein Object <> nil ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von KingIR
KingIR

Registriert seit: 19. Feb 2006
81 Beiträge
 
Delphi 2006 Professional
 
#3

Re: procedure System.Fail?

  Alt 9. Apr 2006, 13:17
Ahja! Ich hatte nur nach Fail, nicht nach _Fail in der System.pas gesucht...

Danke auf jeden Fall, wieder was gelernt...
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: procedure System.Fail?

  Alt 9. Apr 2006, 13:36
Hallo,

Die Standardprozedur Fail ist ein Überbleibsel aus Borland Pascal. Sie diente beim alten Objektmodell dazu, den Speicher für eine Instanz im Fehlerfall innerhalb des Konstruktors freizugeben. Danach wurde der Konstruktor verlassen.

Damals hatten wir noch keine Exceptions...

Gruß Hawkeye
  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 12:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz