Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Сегодня :

День славянской письменности и культуры


[BUG]: RealGetWindowClassA does not exist in user32 (Win98)


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
VaDima
Энтузиаст


Возраст: 36
Знак зодиака: Овен
Зарегистрирован: 18.12.2002
Сообщения: 369
Откуда: Из лесу, вестимо
СообщениеСб, 04-Сен-2004 17:28    Заголовок сообщения: [BUG]: RealGetWindowClassA does not exist in user32 (Win98)
Цитата

Дисклаймер:
Похоже, что в декларации Win32 API функции RealGetWindowClass допущена ошибка.

Статус:
разобраться еще надо бы.

Симптомы:
При использовании в приложении функции RealGetWindowClass под Windows 98 происходит ошибка загрузчика: "не найдена точка входа".

Копаемся:
1. Смотрим раздел Requirements в описании функции в MSDN:
MSDN писал(а):
Windows NT/2000 or later: Requires Windows NT 4.0 SP4 or later.
Windows 95/98/Me: Requires Windows 98 or later.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib

(Кстати, не совсем понимаю строку "95/98/Me: Requires Windows 98 or later". Если 95, то почему Requires Windows 98 or later?)

2. Смотрим Windows.pas

Код:
{$EXTERNALSYM RealGetWindowClass}
function RealGetWindowClass(hwnd: HWND; pszType: PChar; cchType: UINT): UINT; stdcall;
{$EXTERNALSYM RealGetWindowClassA}
function RealGetWindowClassA(hwnd: HWND; pszType: PAnsiChar; cchType: UINT): UINT; stdcall;
{$EXTERNALSYM RealGetWindowClassW}
function RealGetWindowClassW(hwnd: HWND; pszType: PWideChar; cchType: UINT): UINT; stdcall;

function RealGetWindowClass; external user32 name 'RealGetWindowClassA'; //!!! Здесь собака порылась
function RealGetWindowClassA; external user32 name 'RealGetWindowClassA';
function RealGetWindowClassW; external user32 name 'RealGetWindowClassW';


3. Смотрим в depends.exe список экспортируемых функций user32.dll
В Windows XP, как и ожидалось, все 3: RealGetWindowClass, RealGetWindowClassA, RealGetWindowClassW;
В Windows 98 - только одна: RealGetWindowClass

Вывод:
В декларации в Windows.pas используется неверный алиас.

Workaround:
В модуле, где используется эта функция включить свою декларацию:
Код:
function RealGetWindowClass(hwnd: HWND; pszType: PChar; cchType: UINT): UINT; stdcall; external user32 name 'RealGetWindowClass';

_________________
Он умудрялся на бегу прописать дырочку в снегу. (Веня Дркин)
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеВс, 05-Сен-2004 0:44 
Цитата

Да, покопался ты основательно... Кстати, что за функция? (MSDNа под рукой нету)

Цитата:
(Кстати, не совсем понимаю строку "95/98/Me: Requires Windows 98 or later". Если 95, то почему Requires Windows 98 or later?)

Я понимаю это так: "Из серии систем Win95, Win98, WinME поддерживается/требуется система ..."

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
VaDima
Энтузиаст


Возраст: 36
Знак зодиака: Овен
Зарегистрирован: 18.12.2002
Сообщения: 369
Откуда: Из лесу, вестимо
СообщениеПн, 06-Сен-2004 14:39 
Цитата

Цитата:
Кстати, что за функция? (MSDNа под рукой нету)

В начале 90-х, кто помнит, всё пост-советсткое пространство буквально заполонили опрятные молодые и не очень люди... точнее, не очень молодые, а не ?не очень люди?... в дешевых и не очень костюмах и с Библией наперевес. Они знали ответ на любой, в том числе, провокационный вопрос, и за мудростью в карман не лезли...
Что я могу сказать... Надо иметь MSDN под рукой *.
MSDN писал(а):
The RealGetWindowClass function retrieves a string that specifies the window type.
Код:
UINT RealGetWindowClass(
  HWND  hwnd,      // handle to window
  LPTSTR pszType,  // window type buffer
  UINT  cchType    // size of window type buffer
);

А я в пятницу подумал: "дай, - думаю, - не поленюсь и напишу на Quality Central (http://qc.borland.com) и сделаю мир лучше", и не поленился. Все мои старания по описанию промблэмы покрылись жопой в виде ошибки 500 с сообщением "Catastrophic server error..." Мир, т.о. остался прежним...
___________
* гы гы гы ;) Кстати, ты видел, какие замечательные пимпочки заимел Лексей ака Гелиос? Да, мир меняется и надо делать выводы. Как там... темпора мутатур эт нос мутамур ин иллис :)

_________________
Он умудрялся на бегу прописать дырочку в снегу. (Веня Дркин)
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеВт, 07-Сен-2004 10:29 
Цитата

Цитата:
Что я могу сказать... Надо иметь MSDN под рукой

Был бы он под рукой, и я бы был такой же вумный. Но по dial-up его читать нехочеться, а переписывать дисками пока не стал -- много.

Цитата:
Кстати, ты видел, какие замечательные пимпочки заимел Лексей ака Гелиос?

Пимпочки неплохие, но по-моему в подписи они лишние. Так же, как и машина у 13-го. Слишком наляписто.

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж Gelios
Oracle-вый маньяк, Админ


Возраст: 37
Знак зодиака: Водолей
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
СообщениеВт, 07-Сен-2004 11:31 
Цитата

ну можно вместо фэйса засунуть :)
_________________
нельзя давать всем всего, ибо всех много, а всего мало
В начало
Посмотреть профиль Отправить личное сообщение
VaDima
Энтузиаст


Возраст: 36
Знак зодиака: Овен
Зарегистрирован: 18.12.2002
Сообщения: 369
Откуда: Из лесу, вестимо
СообщениеВт, 07-Сен-2004 14:23 
Цитата

Ну уж и повумничать нельзя? Это еще, тыкскыть, интеллигентская компания в основном собралась здесь - в некоторых других местах бонтоном считается использовать любую возможность чтобы показать, мол, я самый вумный, а вы все гавно. Иногда кое-кого это подстёгивает, но, похоже, не нас с вами, угу? ;)
Вот, имхо, наилучшее произведение на эту этико-моральную тему:
Цитата:
Одиноко брожу средь толпы я
И не вижу мне равного в ней.
До чего же все люди тупые!
До чего же их всех я умней.

...Все другие гораздо тупее!
Нет такого, чтоб равен был мне.
Лишь один себе равен в толпе я.
Лишь один. Да и то - не вполне.
© И. Иртеньев


Шурик писал(а):
а переписывать дисками пока не стал -- много

Как вариант - печатное издание. Ентересно, эт скока ж страниц получится в книжонке? Раньше Брокгауза-Эфрона дарили, щас - МЗДН. Надо БХВ или Диасофту подбросить идею. гы гы гы.
Шурик писал(а):
Пимпочки неплохие, но по-моему в подписи они лишние

Чесногря, я пока не вижу им другого применения :)

_________________
Он умудрялся на бегу прописать дырочку в снегу. (Веня Дркин)
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеВт, 07-Сен-2004 23:09 
Цитата

VaDima писал(а):
Как вариант - печатное издание.

Да, интересное предложение. Но это уже явное издевательство.

Представь себя -- приду в офис, начну печатать MSDN. Бумаги же не хватит!
Ну ладно, допустим напечатаю... А искать как? По оглавлению?

Кстати, к прошлому постингу. Я так и не понял, что ты хотел сказать притчей о мододых людях в костюмах. Это намёк на то, что MSDN содержит все ответы на любые програмистские вопросы?

_________________
Ответ готов, готов ли твой вопрос?


Последний раз редактировалось: Шурик (Ср, 08-Сен-2004 0:17), всего редактировалось 1 раз
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеСр, 08-Сен-2004 0:14 
Цитата

Gelios писал(а):
ну можно вместо фэйса засунуть

Это ты о "пимпочках"? Да я только своё мнения высказал, ничего более. Будь они раза в 2, в 3 меньше -- смотрелись бы нормально. А так немного мешают темы читать :)

А вместо фото их точно не стоит ставить. Фото намного осмысленее и информативнее, чем любые лейбочки.

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
VaDima
Энтузиаст


Возраст: 36
Знак зодиака: Овен
Зарегистрирован: 18.12.2002
Сообщения: 369
Откуда: Из лесу, вестимо
СообщениеСр, 08-Сен-2004 13:50 
Цитата

Шурик писал(а):
Это намёк на то, что MSDN содержит все ответы на любые програмистские вопросы?

Позволю себе ответить еще одним провокационным вопросом: а что, Библия действительно содержит ответы на все житейские вопросы?
Шурик писал(а):
Фото намного осмысленее и информативнее, чем любые лейбочки

Это смотря по тому, чьё фото :) - как человек, работавший в системе очень среднего образования, я могу возразить... Или взять, к примеру, мою фотографию. О чем она, информативная, может сообщить, а?

Некстати по теме нитки: кому-нибудь вообще когда-то удалось оставить отчет в Quality Central? ИМО более глючного двигла, чем на сцайте борланда, не найти :(

_________________
Он умудрялся на бегу прописать дырочку в снегу. (Веня Дркин)
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеСр, 08-Сен-2004 20:33 
Цитата

Цитата:
О чем она, информативная, может сообщить, а?

Что ты фотки редактировать умеешь
Цитата:
когда-то удалось оставить отчет в Quality Central

В свое время работала... Может, тебе просто не доверяют :)

_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж Шурик
Я живу тут....


Возраст: 42
Знак зодиака: Овен
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
СообщениеВс, 12-Сен-2004 3:12 
Цитата

Цитата:
Или взять, к примеру, мою фотографию. О чем она, информативная, может сообщить, а?

Это не фото, это шарж. Фото отображает действительность. А твоя аватара - это уже художество на основе фото.

VaDima писал(а):
Шурик писал(а):
Это намёк на то, что MSDN содержит все ответы на любые програмистские вопросы?

Позволю себе ответить еще одним провокационным вопросом: а что, Библия действительно содержит ответы на все житейские вопросы?

Ну ладно, о философии и о религии можно говорить бесконечно. Так что, видимо, лучше замять эту ветку офф-топа.

_________________
Ответ готов, готов ли твой вопрос?
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100