Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Delphi & Assembler [D3, WinXP]


Blitz ©   (2006-02-20 23:50:00) 

Здравствуйте. Подскажите, пожалуйста, как можно обойтись без использования локальной переменной xв данном случае?
procedureTForm1.Button1Click(Sender: Оbject);
var
 x: Integer;
begin
 x := Form1.Height;
  asm
         MOV EAX, x
         INC EAX
         MOV x, EAX
  end;
 Form1.Height := x;
end;


Дмитрий Белькевич   (2006-02-21 00:56:00) [1]

height - свойство, а не переменная.
Смотрим, что пишуть в ассембелере на height := height + 1:

mov edx, [eax + $4c]
inc edx
call tcontroll.setheight.

Всё логично: забираюь из fheight, и потом методом setheight устанавливают. Так чта... Халявы не будет.


Blitz   (2006-02-21 00:37:00) [2]

2 Yanis: Действительно без икса :)

Но мой вопрос не в этом. Хотелось сделать нечто похожее на:
 MOV EAX, Form1.Height


Yanis   (2006-02-21 00:25:00) [3]

form1.Height := form1.Height + 1;


Наверх

Титульная страница Поиск, карта сайта Написать письмо