Трабла с совместимостью

Раздел посвящен программированию с использованием Power Basic.
X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Трабла с совместимостью

Сообщение X-BOND » 25.05.2004 (Вт) 14:05

Вообщем есть в проге функция SetLayeredWindowAttributes.
На 2000/ХР работает все ОК. Но вот попробовал запустить на Win95 и система заругалась на эту функцию. Но оно и понятно, нет ее в 95 винде. Ньюанс в том, что эта функция никак не юзается в коде, если прога запущена на "неправильной" системе. На VB с этим проблем не было а здесь... Вообще кто знает как от этой траблы избавиться?
(#OPTION ... пробовал, не помогает)

Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Сообщение Шурик » 25.05.2004 (Вт) 16:26

Это наверно это очередной глюк...
А почему используется 95 винда???
Вобщето сложно это проверить, у меня у знакомых нет 95 винды :)

Dark Machine
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 26.05.2004 (Ср) 13:12

Сообщение Dark Machine » 26.05.2004 (Ср) 13:30

Какая версия компилятора?
А вообще, если ругается - значить используется :)))
Исходник пожалста на стол (не всё конечно) :) - то место где он прописан.
Можно проверить.

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 26.05.2004 (Ср) 14:36

Версия 7.02

Вот эта строчка:
CALL SetLayeredWindowAttributes (HWND, 0, CFG.TRANS, %LWA_ALPHA)
Если ее закоментировать, то все работает нормально.

Я Нашел еще один вариант:
hDLL = LoadLibrary("User32.dll")
hDLLProc = GetProcAddress(hDLL, "SetLayeredWindowAttributes")
IF hDLLProc <> 0 THEN CALL DWORD hDLLProc USING SetLayeredWindowAttributes(HWND, 0, CFG.TRANS, %LWA_ALPHA)

Но все равно не работает

Короче, если где-то в коде присутствует упоминание SetLayeredWindowAttributes прога не запускается.

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 26.05.2004 (Ср) 16:51

Разобрался вроде. Просто заменил имя функции на левое и задекларировал в начале. После вызвал через CALL DWORD и все заработало (проверял на Win95).
Но все же интересно узнать, заработает ли у других.
Протестируйте, плиз:
http://sharedzone.by.ru/Files/Programms/MESTIN.ZIP


Вернуться в Power Basic

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList