Имя пользователя:
Пароль:
 

Название темы: ExitWindows
Показать сообщение отдельно

Аватара для Besso

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Повлиять на работу апишной функции? Запросто !
unit ActiveX (D6):

 tagREGKIND = (REGKIND_DEFAULT, REGKIND_REGISTER, REGKIND_NONE);
 TRegKind = tagREGKIND;

 function LoadTypeLibEx(szFile: POleStr; regkind: TRegKind; out tlib: ITypeLib): HResult; stdcall;

и cмотрите что выходит:
 Sizeof(TRegKind) = 1 - следовательно компилятор забивает регистер AX, а не EAX - в итоге в EAX передаётся невесть что
Так что, MF CAP  
 a) проверьте описание функции
 б) опишите функцию и константы альтернативно
 в) дизассемблируйте вызов функции, убедитесь что передаются ИМЕННО ВАШИ ПАРАМЕТРЫ

в моём примере помогло дизассемблирование с последующим альтернативным описанием

-------
In vino veritas


Отправлено: 23:15, 13-04-2003 | #6

Название темы: ExitWindows