Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#17

AW: Tagesanzahl Februar eines Jahres

  Alt 12. Dez 2020, 11:40
Bei IfThen gilt auch zu beachten, dass es sich hier um einen Funktionsaufruf handelt, bei dem immer alle Parameter ausgewertet werden.
Delphi-Quellcode:
var
  cmp: TComponent;
  cmpName: string;
begin
  cmp := FindComponent('Edit1');

  { hier kann ein Zugriffsfehler auftreten }
  cmpName := IfThen(cmp <> nil, cmp.Name, '');

  { kann hier nicht passieren }
  if cmp <> nil then
    cmpName := cmp.Name
  else
    cmpName := '';
Stimmt, aber in so 'ner Situation käme ich nie und nimmer auf die Idee IfThen zu nutzen. Bei Parametern für IfThen weiß ich immer vorher, dass ich das problemlos drauf zugreifen kann.
Delphi-Quellcode:
var
  cmp: TComponent;
  cmpName: string;
begin
  cmp := FindComponent('Edit1');
  if Assigned(cmp) then begin // ohne das, geht es bei mir nach 'nem FindComponent o. ä. garantiert nicht weiter.
    ...
  end else begin
    ...
  end;
  Mit Zitat antworten Zitat