Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];

Вниз

смысл этого объявления и в каких целях можно использовать?   Найти похожие ветки 

 
Сатир   (2002-11-03 15:22) [0]

ATOM = Word;
{$EXTERNALSYM ATOM}


 
Сатир   (2002-11-03 20:26) [1]

даю мастерам неделю на раздумия, а остальным - как разберутся


 
Геннадий   (2002-11-03 20:40) [2]

Ну я так понимаю это какой-то атом... :)))


 
Ihor Osov'yak   (2002-11-03 20:47) [3]

ну я не совсем мастер, так что дам только намек -
see, please - AddAtom, DeleteAtom, FindAtom, GetAtomName, GlobalDeleteAtom, GlobalFindAtom, GlobalGetAtomName, MAKEINTATOM


ЗЫ. Кстати, иногда очень полезная вещь. Когда нужно к виндозному окошку свои данные прилепить.


 
PVOzerski   (2002-11-04 02:08) [4]

Тоже из разряда предположений (дома D3 стоит, там этого нет) - не с
name mangling ли связано? Поясню: обычно имена в obj-файлы попадают
не совсем в том виде, в котором их задает программист, к ним добавляется
служебная информация, причем ее содержание и форма зависят от
компилятора. Поэтому когда надо слинковать модули, сделанные разными
компиляторами, могут возникать проблемы. А Delphi, в принципе, приспособлен
к тому, чтобы совмещаться с Builder"ом. Правда, имена типов в нормальные
obj-файлы, вроде бы, попадать не должны. Но ведь Delphi поддерживает классы,
да еще RTTI - так что этого не избежать. Возможно, встреченный Вами код
ориентирован на линковку с Builder"ом, а эта директива определяет "внутреннее"
представление имени типа ATOM в obj-файле. Но лучше посмотрите Help, там это
наверняка разъясняется без догадок.


 
Сатир   (2002-11-06 18:04) [5]

этот код попался мне в Windows.pas, то искал я его там потому, что увидел в чужих исходниках следующие объявления:
{$J+}
const
paCursor : ATOM = 0;
paParentShowHint : ATOM =0;
paPopupMenu : ATOM =0;
paAutoSize : ATOM =0;
paViewStyle : ATOM =0;
paColorStyle : ATOM =0;
paBorder : ATOM =0;
paFieldName : ATOM =0;

и стало непонятно, зачем ATOM, а не просто Word?


 
Ученик   (2002-11-06 18:14) [6]

>Сатир © (03.11.02 15:22)
Syntax {$EXTERNALSYM identifier}
The EXTERNALSYM directive prevents the specified Delphi symbol from appearing in header files generated for C++. If an overloaded routine is specified, all versions of the routine are excluded from the header file.


 
Набережных С.   (2002-11-06 19:30) [7]

Существуют глобальная и локальные таблицы атомов структуры "ID-строка" или типа того. ID - и есть атом. Мы можем добавлять строки в таблицу и получать ее уникальный (в пределах таблицы)идентификатор.

>Ihor Osov"yak © (03.11.02 20:47)
Кстати, иногда очень полезная вещь. Когда нужно к виндозному окошку свои данные прилепить.

Для этого не обязательно использовать атом, хотя, вероятно, с ним поиск несколько быстрее.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.011 c
4-59513
Novichek
2002-10-05 21:33
2002.11.18
Можно ли развернуть/свернуть все проги нетрогая свою?


1-59261
Xman
2002-11-07 09:54
2002.11.18
Немогу понять может поможете


4-59480
RetLion
2002-10-06 15:34
2002.11.18
Кто-нибудь писал сервис с использованием Win API? (Под NT )


3-58989
Just_Dont_Know
2002-10-28 18:21
2002.11.18
Медленно выполняется запрос...


7-59465
Гарик
2002-09-16 16:36
2002.11.18
Звук





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский