AGB  ·  Datenschutz  ·  Impressum  







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

Methodenaufrufe intern

Ein Thema von stoxx · begonnen am 10. Jun 2006 · letzter Beitrag vom 10. Jun 2006
 
Dax
(Gast)

n/a Beiträge
 
#2

Re: Methodenaufrufe intern

  Alt 10. Jun 2006, 17:35
Puh... Ich weiß nicht, obs funktioniert, aber mein erster Ansatz wäre soetwas:
Delphi-Quellcode:
procedure TForm1.ZwischenAufruf(args: array of const);
var i: Integer; p: Pointer;
begin
  p := FMethod.Code;
  i := Length(args);
  case i of
    0: asm
         push p
         mov eax, Self
         call [esp]
         pop p
       end;
    1: asm
         push p
         mov eax, Self
         mov edx, [edx]
         mov edx, [edx]
         call [esp]
         pop p
       end;
    2: asm
         push p
         mov eax, Self
         mov edx, [edx]
         mov ecx, [edx+4]
         mov edx, [edx]
         call [esp]
         pop p
       end;
    else
      asm
        mov eax, args
        mov eax, [eax]
        mov ecx, [eax-4]
        mov edx, [edx]
      @_l:
        push [edx+ecx*4]
        cmp ecx, 2
        jnz @_1

        mov ecx, [edx+4]
        mov edx, [edx]
        call p
      end
  end;
end;
Ist ungetestet.. Grad so runtergeschrieben eben. Um Assembler wirst du bei diesem Vorhaben jedenfalls nicht rumkommen...
  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 07:47 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