Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Konzeptfrage zu Problem Methodenzeiger vs. reguläre Proc

  Alt 13. Okt 2009, 09:51
Ich würde bezweifeln, dass es irgendwie geht eine nested function so aufzurufen. Wie soll er aus der nested function dann die lokale Variable Templist finden. Er weiß doch gar nicht, wo er sich gerade im Stack befindet.

Edit: Ja Wahnsinn. Bei D7 geht das sogar durch den Compiler. Liefert aber, wie erwartet, totalen Unfug. Na den kann man ja lange suchen.
Delphi-Quellcode:
type TProc=procedure;

procedure Foo(proc:TProc);
var s:String;
begin
  s:='Test'; //nur damit der Stack auch etwas "durcheinander" kommt.
  Proc;
  showmessage(s); //..und damit die CodeOptimierung mir das s nicht rausschmeißt
end;

procedure TForm1.Button1Click(Sender: TObject);
var x:Integer;
 procedure test;
 begin
   showmessage(inttostr(x));
 end;
begin
  x:=5;
  test;
  Foo(@test);
end;
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat