Galkov писал(а):
this - это первый аргумент.Galkov писал(а):
В Дельфях, соответственно, это EAX.А вот фиг - не eax, а ecx:
#define WrapDelphiCall(t,n,t1,p1) inline t n(t1 p1) {
__asm mov eax, p1
__asm mov ecx, this
__asm call dword ptr [ecx].p##n }
#define WrapDelphiCall2(t,n,t1,p1,t2,p2) inline t n(t1 p1, t2 p2) {
__asm mov eax, p1
__asm mov edx, p2
__asm mov ecx, this
__asm call dword ptr [ecx].p##n }
Код рабочий, проверено
[size=-2]------ Добавлено в 13:23
Соответственно, вопрос о макросе WrapDelphiCall3 остаётся в силе.