Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.21;
Скачать: CL | DM;

Вниз

Assembler&Delphi!!!!!   Найти похожие ветки 

 
GrayFace ©   (2006-12-27 17:31) [40]

> возвращаемый параметр
возвращаемый стандартным обработчиком результат

> Ее надо будет
написать :)


 
4ert   (2006-12-28 23:16) [41]

Вот кажется нашёл решение, универсальная функция запуска API функции из её двойника, просто копируем определенное число байт со входа двойника на вход API функции:


const
 MaxParam = 32; //макс.число параметров
function f2(a:pointer):integer; assembler;
asm
 push edi
 push esi
 mov ecx,MaxParam*4
 sub esp,ecx
 mov edi,esp
 lea esi,[ebp+8]   //указатель на первый параметр двойника
 rep movsd         //копируем MaxParam*4 байт параметров
 lea edi,[esp+MaxParam*4] //сохраняем значение esp
 call [eax]        //вызов API
 mov esp,edi       //восстанавливаем esp
 pop esi
 pop edi
end;


Всё работает отлично!!!! Функция API с теми же параметрами, что и функция двойник(которая собственно и запускает f2 с параметром: указатель на API функцию).....

правда после работы API функции выскакивает сообщение:
"
Project Project1.exe raised exception class EAccessViolation with message "Access Violation at address 001703CA
". Process stopped.
"

Не знает никто как лечить?


 
GrayFace ©   (2006-12-29 11:58) [42]

Stack Frame в таких случаях не создается. Надо самому создавать.


 
Игорь Шевченко ©   (2006-12-29 12:02) [43]


> правда после работы API функции выскакивает сообщение:
> "
> Project Project1.exe raised exception class EAccessViolation
> with message "Access Violation at address 001703CA
> ". Process stopped.
> "


Двигатель был очень похож на настоящий, только не работал



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

Текущий архив: 2007.01.21;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.04 c
2-1168028135
Влад
2007-01-05 23:15
2007.01.21
Текущее время


15-1167526668
WR
2006-12-31 03:57
2007.01.21
Казнь Хусейна как предупреждение Лукашенко ?


1-1164884899
CaSH_
2006-11-30 14:08
2007.01.21
TreeView при выделении строки иконка меняется на нулувую


6-1155850398
Victor!
2006-08-18 01:33
2007.01.21
Проблемма с TIdTCPClient.ReadLn в Delphi 7


15-1167761848
vidiv
2007-01-02 21:17
2007.01.21
как сделать форму toolwindow всегда выше всех форм