Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Boolean var-Parameter in Prozedur mit Vorgabewert?

  Alt 24. Jul 2017, 08:57
Einfach mit einem Default-Wert belegen sollte ausreichen:
procedure TestProc(a: string; var x: Boolean = True); Kann aber sein, dass das bei Var-Parametern nicht funktioniert. Habe ich noch nicht getestet
Wie sollte es denn funktionieren?
Wenn es die externe Variable nicht gibt, dann kann sie auch keinen Wert haben.

Lösung siehe #2.
Die andere Alternative wäre ein Pointer, statt einem Var, aber so schön ist das nicht unbedingt.


Delphi-Quellcode:
procedure TestProc(a: string; x: PBoolean=nil);
var
  y: Boolean;
begin
  if not Assigned(x) then
    x := @y;
  x^ := True;
  .....
  x^ := False;
end;
oder
Delphi-Quellcode:
procedure TestProc(a: string; x: PBoolean=nil);
begin
  if Assigned(x) then
    x^ := True;
  .....
  if Assigned(x) then
    x^ := False;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (24. Jul 2017 um 09:12 Uhr)
  Mit Zitat antworten Zitat