| 
| 
 | Вопрос # 3 278/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Учусь работать с API Пробую получить информацию об окнах верхнего уровня,написал код: фрагмент кода Не пойму что со строкой :EnumWindows(@EnumProc,0); Компилятор выдает такую ошибку на этой строке:
 [DCC Error] Unit1.pas(49): E2036 Variable required
 
|  |   Вопрос задал: igoriy (статус: Посетитель)Вопрос отправлен: 13 октября 2009, 09:33
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 7; последнее сообщение — 13 октября 2009, 10:16; участников в обсуждении: 3. 
|   | Егор (статус: 10-ый класс), 13 октября 2009, 09:44 [#1]:- дорогие пассажиры, мы летим над Баден-Баденом... - не, ну не лохи же летят! Зачем два раза повторять?
 
 зачем дважды один и тот же вопрос повторять?
   Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | igoriy (статус: Посетитель), 13 октября 2009, 09:47 [#2]:ну нечаянно пытался отредактировать и вот так коряво вышло |  
|   | Тов. Женька (статус: 3-ий класс), 13 октября 2009, 09:56 [#3]:Тип EnumProc должен быть не Boolean, а Bool. Совместимость с С требуется. |  
|   | igoriy (статус: Посетитель), 13 октября 2009, 10:00 [#4]:Переделал - все тоже самое |  
|   | Тов. Женька (статус: 3-ий класс), 13 октября 2009, 10:05 [#5]:Надо "переопределить" EnumProc Вместо
 function TForm1.EnumProc(Wd: HWnd; Param: LongInt): Bool; stdcall;надо 
 function EnumProc(Wd: HWnd; Param: LongInt): Bool; stdcall; И тогда вместо
 
 ListBox1.Items.Add(IntToStr(Wd));впишите 
 Form1.ListBox1.Items.Add(IntToStr(Wd)); |  
|   | Тов. Женька (статус: 3-ий класс), 13 октября 2009, 10:07 [#6]:И если функция EnumProc определена в private или public, то, естественно, надо ее оттуда убрать. |  
|   | igoriy (статус: Посетитель), 13 октября 2009, 10:16 [#7]:Тов.Женька:Спасибо огромное все работает но если честно пока не понял сути - еще только учусь |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |