Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Procedure Var. (https://www.delphipraxis.net/80674-procedure-var.html)

RobertDorn 13. Nov 2006 16:04


Procedure Var.
 
hi!!

estma folgender beispiel code:

Delphi-Quellcode:
var proc = procedure( s:string);

procedure Test (s:string);
begin
end;
wie kann ich jetzt der Proc variable die procedure Test zuweisen?

einfach so
proc:=test;
geht ja net...

shmia 13. Nov 2006 16:14

Re: Procedure Var.
 
Delphi-Quellcode:
proc := @Test;

RobertDorn 13. Nov 2006 16:21

Re: Procedure Var.
 
hab ich auch scho versucht... da meckert der aber rum das ne variable erforderlich ist

ich habs auch net ganz so genau wie in meinem bsp code gemacht.

Delphi-Quellcode:
 type TProc=procedure (var res);

 var proc = TProc;

 procedure Test (var res);
 begin
 end;
aber das sollte ja keinen unterschied machen...

:?

Kedariodakon 13. Nov 2006 16:57

Re: Procedure Var.
 
So in etwa sollte es gehn... =)
Delphi-Quellcode:
Unit uProg;

Interface

Uses SysUtils;

Type
  TProg = Procedure( Var Res );

Procedure Machwas( Const Idx: Integer );

Implementation

Procedure Prog1( Var Res );
Begin
  // machwas 1
End;

Procedure Prog2( Var Res );
Begin
  // machwas 2
End;

Procedure Machwas( Const Idx: Integer );
Var pMW:     TProg;
    HotteHue: Integer;
Begin
  Case Idx of
    1:  pMW := Prog1;
    2:  pMW := Prog2;
    Else pMW := Nil;
  End;
  If Assigned( pMW ) Then Begin
    pMW( HotteHue );
    // ...
  End;
  // ...
End;

end.
Achtung, wenn du Proceduren oder Funktionen von Klassen benutzt, gehört das so:
Delphi-Quellcode:
  //...
Type
  TProg = Procedure( Var Res ) Of Object;
  //...
Bye Christian

RobertDorn 13. Nov 2006 17:13

Re: Procedure Var.
 
ja... ich benutz die von klassen... an dem "of object" lags

VIELEN DANK!!!!!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:30 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-2025 by Thomas Breitkreuz