AGB  ·  Datenschutz  ·  Impressum  







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

Objekt auf Übergabe prüfen.

Ein Thema von Popov · begonnen am 20. Jan 2014 · letzter Beitrag vom 20. Jan 2014
 
Popov
(Gast)

n/a Beiträge
 
#1

Objekt auf Übergabe prüfen.

  Alt 20. Jan 2014, 14:26
Anbei ein konstruiertes Beispiel:
Delphi-Quellcode:
function Test(sl: TStringList; Index: Integer): TObject;
begin
  Result := sl.Objects[Index];
  //was hier Prüfen?
  sl.Delete(Index);
end;
In der Zeile Result := sl.Objects[Index]; wird ein Objekt übergeben. Nun gehen wir mal davon aus, Index ist außer Bereich, also gibt es eine Fehlermeldung. Das ist auch so gewollt.

Nun weiter im Programm, als nächstes ist die Zeile sl.Delete(Index); dran. Falls der Index zu hoch ist, wird es auch hier eine Fehlermeldung geben. Und das soll nicht sein. Eine Meldung ist ok, zwei zuviel.

Jetzt bitte nicht fragen wieso hier Index nicht vorher überprüft wird, ist nur ein Beispiel.

Wie bekommt man nun mit ob in der ersten Zeile alles richtig abgelaufen ist? Es geht nicht drum in der ersten Zeile eine Fehlermeldung abzufangen. Die soll kommen wenn Index falsch ist, nur will ich in dem Fall keine zwei gleiche Meldungen.

Man könnte Result prüfen bevor man die zweite Zeile ausführt, nur wie? Auf nil? Und nun die Frage: muss man Result in dem Fall vorher nil zuweisen? Sieht irgendwie sonderbar aus.
Delphi-Quellcode:
begin
  Result := nil;
  Result := sl.Objects[Index];
  if Result <> nil then
    sl.Delete(Index);
  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 04:22 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