AGB  ·  Datenschutz  ·  Impressum  







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

Die Property Falle...

Ein Thema von Mavarik · begonnen am 24. Nov 2014 · letzter Beitrag vom 25. Nov 2014
 
Der schöne Günther

Registriert seit: 6. Mär 2013
6.190 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Anonyme Proceduren mit und ohne Parameter Spass!

  Alt 24. Nov 2014, 12:04
Ich mache zwar immer viele dumme Fehler, aber darüber bin ich lustigerweise noch nie gestolpert. Wahrscheinlich weil ich, Java-geschädigt, nie Properties verwende. Mit Gettern (siehe Code unten) fällt einem das irgendwie leichter auf.

Hier einmal die Kurzfassung, ohne Interfaces, Properties und Listen:

Delphi-Quellcode:
program Project10;

{$APPTYPE CONSOLE}
{$R *.res}

uses System.SysUtils;

type TProcContainer = class
   strict protected var proc: TProc;
   public
      constructor Create(const proc: TProc);
      function getProc(): TProc;
end;

constructor TProcContainer.Create(const proc: TProc);
begin
   inherited Create();
   self.proc := proc;
end;

function TProcContainer.getProc(): TProc;
begin
   Result := proc;
end;

var
   myContainer: TProcContainer;
begin
   myContainer := TProcContainer.Create(
      procedure
      begin
         WriteLn('Hallo Welt');
      end
   );

   myContainer.getProc(); // Tut nichts
   myContainer.getProc()();
end.

Die Zeile myContainer.getProc()(); sieht schon schräg aus, aber, wie du ja auch sagst, so ist es richtig

Geändert von Der schöne Günther (24. Nov 2014 um 12:06 Uhr)
  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 10:52 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