| Автор
| Сообщение |
VaDima
Энтузиаст

Возраст: 36
Знак зодиака: 
Зарегистрирован: 18.12.2002
Сообщения: 369
Откуда: Из лесу, вестимо
|
|
|
Цитата |
|
Дисклаймер:
Похоже, что в декларации 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
Откуда: Киев
|
|
|
Цитата |
|
Да, покопался ты основательно... Кстати, что за функция? (MSDNа под рукой нету)
| Цитата: | | (Кстати, не совсем понимаю строку "95/98/Me: Requires Windows 98 or later". Если 95, то почему Requires Windows 98 or later?) |
Я понимаю это так: "Из серии систем Win95, Win98, WinME поддерживается/требуется система ..." _________________ Ответ готов, готов ли твой вопрос? |
|
| В начало |
|
 |
VaDima
Энтузиаст

Возраст: 36
Знак зодиака: 
Зарегистрирован: 18.12.2002
Сообщения: 369
Откуда: Из лесу, вестимо
|
|
|
Цитата |
|
| Цитата: | | Кстати, что за функция? (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
Откуда: Киев
|
|
|
Цитата |
|
| Цитата: | | Что я могу сказать... Надо иметь MSDN под рукой |
Был бы он под рукой, и я бы был такой же вумный. Но по dial-up его читать нехочеться, а переписывать дисками пока не стал -- много.
| Цитата: | | Кстати, ты видел, какие замечательные пимпочки заимел Лексей ака Гелиос? |
Пимпочки неплохие, но по-моему в подписи они лишние. Так же, как и машина у 13-го. Слишком наляписто. _________________ Ответ готов, готов ли твой вопрос? |
|
| В начало |
|
 |
 Gelios
Oracle-вый маньяк, Админ

Возраст: 37
Знак зодиака: 
Зарегистрирован: 10.03.2005
Сообщения: 6141
Откуда: Яблочный рай
|
|
|
Цитата |
|
ну можно вместо фэйса засунуть  _________________ нельзя давать всем всего, ибо всех много, а всего мало |
|
| В начало |
|
 |
VaDima
Энтузиаст

Возраст: 36
Знак зодиака: 
Зарегистрирован: 18.12.2002
Сообщения: 369
Откуда: Из лесу, вестимо
|
|
|
Цитата |
|
Ну уж и повумничать нельзя? Это еще, тыкскыть, интеллигентская компания в основном собралась здесь - в некоторых других местах бонтоном считается использовать любую возможность чтобы показать, мол, я самый вумный, а вы все гавно. Иногда кое-кого это подстёгивает, но, похоже, не нас с вами, угу?
Вот, имхо, наилучшее произведение на эту этико-моральную тему:
| Цитата: | Одиноко брожу средь толпы я
И не вижу мне равного в ней.
До чего же все люди тупые!
До чего же их всех я умней.
...Все другие гораздо тупее!
Нет такого, чтоб равен был мне.
Лишь один себе равен в толпе я.
Лишь один. Да и то - не вполне.
© И. Иртеньев |
| Шурик писал(а): | | а переписывать дисками пока не стал -- много |
Как вариант - печатное издание. Ентересно, эт скока ж страниц получится в книжонке? Раньше Брокгауза-Эфрона дарили, щас - МЗДН. Надо БХВ или Диасофту подбросить идею. гы гы гы.
| Шурик писал(а): | | Пимпочки неплохие, но по-моему в подписи они лишние |
Чесногря, я пока не вижу им другого применения  _________________ Он умудрялся на бегу прописать дырочку в снегу. (Веня Дркин) |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
| VaDima писал(а): | | Как вариант - печатное издание. |
Да, интересное предложение. Но это уже явное издевательство.
Представь себя -- приду в офис, начну печатать MSDN. Бумаги же не хватит!
Ну ладно, допустим напечатаю... А искать как? По оглавлению?
Кстати, к прошлому постингу. Я так и не понял, что ты хотел сказать притчей о мододых людях в костюмах. Это намёк на то, что MSDN содержит все ответы на любые програмистские вопросы? _________________ Ответ готов, готов ли твой вопрос?
Последний раз редактировалось: Шурик (Ср, 08-Сен-2004 0:17), всего редактировалось 1 раз |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
| Gelios писал(а): | | ну можно вместо фэйса засунуть |
Это ты о "пимпочках"? Да я только своё мнения высказал, ничего более. Будь они раза в 2, в 3 меньше -- смотрелись бы нормально. А так немного мешают темы читать
А вместо фото их точно не стоит ставить. Фото намного осмысленее и информативнее, чем любые лейбочки. _________________ Ответ готов, готов ли твой вопрос? |
|
| В начало |
|
 |
VaDima
Энтузиаст

Возраст: 36
Знак зодиака: 
Зарегистрирован: 18.12.2002
Сообщения: 369
Откуда: Из лесу, вестимо
|
|
|
Цитата |
|
| Шурик писал(а): | | Это намёк на то, что MSDN содержит все ответы на любые програмистские вопросы? |
Позволю себе ответить еще одним провокационным вопросом: а что, Библия действительно содержит ответы на все житейские вопросы?
| Шурик писал(а): | | Фото намного осмысленее и информативнее, чем любые лейбочки |
Это смотря по тому, чьё фото - как человек, работавший в системе очень среднего образования, я могу возразить... Или взять, к примеру, мою фотографию. О чем она, информативная, может сообщить, а?
Некстати по теме нитки: кому-нибудь вообще когда-то удалось оставить отчет в Quality Central? ИМО более глючного двигла, чем на сцайте борланда, не найти  _________________ Он умудрялся на бегу прописать дырочку в снегу. (Веня Дркин) |
|
| В начало |
|
 |
|
|
 |
DrPass
Знающий :) /Почетный Модератор/

Возраст: 31
Знак зодиака: 
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
|
|
|
Цитата |
|
| Цитата: | | О чем она, информативная, может сообщить, а? |
Что ты фотки редактировать умеешь
| Цитата: | | когда-то удалось оставить отчет в Quality Central |
В свое время работала... Может, тебе просто не доверяют  _________________ Да пребудет с вами Сила! |
|
| В начало |
|
 |
 Шурик
Я живу тут....

Возраст: 42
Знак зодиака: 
Зарегистрирован: 15.01.2003
Сообщения: 1951
Откуда: Киев
|
|
|
Цитата |
|
| Цитата: | | Или взять, к примеру, мою фотографию. О чем она, информативная, может сообщить, а? |
Это не фото, это шарж. Фото отображает действительность. А твоя аватара - это уже художество на основе фото.
| VaDima писал(а): | | Шурик писал(а): | | Это намёк на то, что MSDN содержит все ответы на любые програмистские вопросы? |
Позволю себе ответить еще одним провокационным вопросом: а что, Библия действительно содержит ответы на все житейские вопросы?
|
Ну ладно, о философии и о религии можно говорить бесконечно. Так что, видимо, лучше замять эту ветку офф-топа. _________________ Ответ готов, готов ли твой вопрос? |
|
| В начало |
|
 |
|