Вверх ↑
Ответов: 1731
Рейтинг: 68
#1: 2012-01-20 22:15:25 ЛС | профиль | цитата
Тфу, не тот код.
#pas
function TCanvas.GetBrush: PGraphicTool;
asm
MOV ECX, [EAX].fBrush
INC ECX
LOOP @@exit

PUSH EAX
CALL NewBrush
POP EDX
PUSH EAX

MOV [EDX].fBrush, EAX

MOV [EAX].TGraphicTool.fOnChange.TMethod.Code, Offset[TCanvas.ObjectChanged]
MOV [EAX].TGraphicTool.fOnChange.TMethod.Data, EDX
MOV ECX, [EDX].fOwnerControl
JECXZ @@1

PUSH [ECX].TControl.fBrush
MOV ECX, [ECX].TControl.fColor
MOV [EAX].TGraphicTool.fData.Color, ECX
POP EDX
TEST EDX, EDX
JZ @@1

CALL TGraphicTool.Assign

@@1: POP ECX

@@exit: XCHG EAX, ECX
end;
------------ Дoбавленo в 22.15:
1nd1g0, нет, не помогло.

карма: 1

0