Страница 1 из 1

Проблема с user32.dll и SetLayeredWindowAttributes

Добавлено: 21 Сентябрь 2014, 18:35
kreator
Проблема старая. Сейчас перебираюсь на С91 (ось - Win7-64). Хочется разобраться.
Описание функции вот такое:

Код: Выделить всё

MODULE('User32')
    SetLayeredWindowAttributes(HWND,COLORREF,BYTE,DWORD),SIGNED,RAW,PASCAL,PROC
    SetParent(HWND,HWND),BOOL,PASCAL
END
Вызов её вот такой:

Код: Выделить всё

SetLayeredWindowAttributes(window{prop:Handle},COLOR:Red,100,LWA_COLORKEY)
При компиляции выдаёт:

Код: Выделить всё

Unresolved External SETLAYEREDWINDOWATTRIBUTES in j019.obj
Если сделать свою либу LibMaker'ом с этой функцией и всунуть её в проект, то всё нормально (так и делал раньше). Что не так с SetLayeredWindowAttributes? Самое интересное, что с SetParent проблем нет, хотя она в той же dll. Объявление функции не то? Не помню, где его взял.

Re: Проблема с user32.dll и SetLayeredWindowAttributes

Добавлено: 21 Сентябрь 2014, 18:42
Дед Пахом
Clarion не линкует user32.dll :-) SetParent включена в Win32.lib, а SetLayeredWindowAttributes нет.

Re: Проблема с user32.dll и SetLayeredWindowAttributes

Добавлено: 22 Сентябрь 2014, 12:27
kreator
Спасибо за информацию. Но чем вызвана такая избирательность Clarion? Может настроить как-то можно? Мало ли какие мне понадобятся виндоусовые библиотеки.

Re: Проблема с user32.dll и SetLayeredWindowAttributes

Добавлено: 22 Сентябрь 2014, 12:53
Дед Пахом
Ну они с каждой версией Win32.lib расширяют. А если чего не хватает, делай свою lib и включай в проект. Ну или LoadLibrary().

Re: Проблема с user32.dll и SetLayeredWindowAttributes

Добавлено: 22 Сентябрь 2014, 12:58
Губин Игорь
А ничем не вызвано... Просто цепляй недостающую lib