Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.233 Beiträge
 
Delphi 12 Athens
 
#7

AW: Delphi-System-Funktion ersetzen

  Alt 1. Mär 2012, 17:07
Delphi-Quellcode:
function GetIntfCastAddr: Pointer;
asm
  lea eax,System.@IntfCast;
end;
Hatte zwar schon einige Varianten durchprobiert.
Ich würde dich abknutschen, aber ich glaub ich laß das.

Delphi-Quellcode:
var
  PIntfCast: Pointer;

begin
  RedirectProcedureCall(Pointer($004099E8), @ExtendedIntfCast);

  RedirectProcedureCall(Pointer(NativeInt(@TInterfacedObject.AfterConstruction) - 60), @ExtendedIntfCast);

  asm
    LEA EAX, System.@IntfCast
    MOV &PIntfCast, EAX
  end;
  RedirectProcedureCall(PIntfCast, @ExtendedIntfCast);
Da ich diese Funktion auch demnächte veröffentlichen würde (in 'ner Unit verpackt), gefällt mir Letzeres natürlich besser.
(muß dann nur noch irgendwann mal sehn, wie das mit Win64 und Co. aussieht)
$2B or not $2B
  Mit Zitat antworten Zitat