Вниз
Скачать: CL | DM;

Дельфийский ассемблер   Найти похожие ветки 

 
microcomp ©   (2005-05-19 15:14) [0]

Ув. Как из дельфийского асма корректно вызвать виндовую функцию (покажите пример) в частности - вот код для чистого ассемблера:

.loopbegin:
;... делаем какието операции ...
memcall _GetAsyncKeyState,VK_ESCAPE
test eax,eax
jz .loopbegin
;... делаем выход....

Делает этот кусок кода простую вещь - проверяет нажата ли клавиша "Esc". Если да, выходим из цикла.


 
Marser ©   (2005-05-19 15:24) [1]

Толкаем (push) в стек все параметры в соответствии с stdcall-соглашением и вызываем подпрограмму с помощью call ptr


 
begin...end ©   (2005-05-19 17:19) [2]

> microcomp ©   (19.05.05 15:14)

asm
   PUSH  VK_ESCAPE
   CALL  GetAsyncKeyState
   TEST  EAX, EAX
   JZ    @@up
   // клавиша нажата
   ...
@@up:
   // клавиша не нажата
   ...
end.


 
microcomp ©   (2005-05-19 17:33) [3]

begin...end >
CALL  GetAsyncKeyState - Ошибка
Что-то где-то нужно объявить.
Вот собственно и спрашиваю...


 
begin...end ©   (2005-05-19 17:36) [4]

> microcomp ©   (19.05.05 17:33) [3]

Добавить в список uses модуль Windows?


 
Digitman ©   (2005-05-19 18:04) [5]


> CALL  GetAsyncKeyState - Ошибка


CALL  Windows.GetAsyncKeyState



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.034 c
3-1114676618
ST
2005-04-28 12:23
2005.06.06
INSERT в MSSQL


10-1093590350
AntonSh
2004-08-27 11:05
2005.06.06
COM сервер


1-1116443700
heady
2005-05-18 23:15
2005.06.06
текстовый файл в буфер обмена


1-1116676673
antol
2005-05-21 15:57
2005.06.06
как ввести логическое выражение


1-1116787970
Volume
2005-05-22 22:52
2005.06.06
Проверка содержимого дискеты




   Наверх