Announcement

Collapse
No announcement yet.

Methoden über Variablenwert aufrufen???

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Methoden über Variablenwert aufrufen???

    Hi.<br>
    mal ne frage:<br>
    <b>ist es möglich, methoden eines objekts über variablenwerte aufzurufen?</b><br>
    z.B. <br>
    procedure obj_action (action: methode);<br>
    begin<br>
    einobjekt.action;<br>
    end;<br>

  • #2
    <b>published</b> Methoden können über <b>MethodeAddress</b> gefunden werden.<p>
    Das ist aber alles andere als üblich, gibt es keinen besseren Weg Deinen Wunsch zu realisieren?<p>
    Da kannst natürlich jederzeit prozedurale Variablen verwenden (Nichts anderes, als Zeiger auf Prozeduren/Funktionen/Methoden)<p>

    Gruß Nic

    Comment


    • #3
      hi<br>
      irgendwie bin ich mit dem beispiel in der online-hilfe von delphi nicht klargekommen. ich habe es so verstanden, daß man mit prozeduralen variablen den variablen einfach nur eine procedur oder function zuordnen kann. wie das bei meiner frage helfen soll, hab ich leider nicht kapiert :

      Comment


      • #4
        Hi

        Ja.

        <pre>

        type
        TMyObject = class
        procedure Method1;
        procedure Method2;
        procedure Method3;
        end;<br>

        procedure callMethod(Method: TMethod);
        begin
        Method;
        end;<br>

        procedure Test;
        var
        M: TMethod;
        O: TMyObject;
        begin
        O := TMyObject.Create;
        try
        if XYZ then M := O.Method1 else M := O.Method2;

        M;
        CallMethod(M);
        CallMethod(O.Method3);

        finally
        O.Free;
        end;
        end;

        <pre>

        Sobald aber mehrere Methoden in einer Variablen gespeichert werden sollen, MÜSSEN alle Methoden IDENTISCH aufgebaut sein -> d.h. Typengleich und Parametergleich.

        Gruß Hage

        Comment

        Working...
        X