Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2004-09-14 16:21:40 ЛС | профиль | цитата
Затрудняюсь сказать в каком компоненте ошибка и в компоненте ли. Но вот пример.

Add(WinTools,17433,175,509)
{
link(Handle,6801:Data1,[])
}
Add(Memory,96827,231,256)
{
Default=Integer(0)
@Hint=x_old
link(onData,16127:doText,[(320,262)(320,263)])
}
Add(Memory,36860,280,305)
{
Default=Integer(0)
@Hint=y_old
link(onData,42613:doText,[(345,311)(345,312)])
}
Add(MouseEvent,98034,161,200)
{
Button=1
WheelDelta=120
Point(doPosition)
}
Add(Hub,8491,91,298)
{
InCount=1
OutCount=5
link(onEvent1,80554:doData,[(131,304)(131,262)])
link(onEvent2,17221:doData,[])
link(onEvent4,73234:doData,[(149,325)(149,465)])
link(onEvent5,57564:doData,[(140,332)(140,563)])
}
Add(GetData,6801,175,397)
{
Count=2
link(Data,18218:GetActiveWindow,[(181,390)(188,390)])
}
Add(DoData,80554,140,256)
{
Data=Integer(0)
link(onEventData,96827:doValue,[])
link(Data,98034:MouseX,[(146,244)(167,244)])
}
Add(Label,16127,378,257)
{
Left=5
Top=5
Width=100
Height=30
Align=0
Color=-16777201
Font=[Arial,16,0,0]
Transparent=1
Caption="x"
AutoSize=0
Alignment=0
ColorHover=0
Cursor=0
Underline=1
}
Add(WinTools,62991,28,145)
{
link(Handle,18525:Handle,[])
}
Add(Label,47100,231,558)
{
Left=5
Top=100
Width=100
Height=15
Align=0
Color=-16777201
Font=[Arial,8,0,0]
Transparent=1
Caption="y"
AutoSize=0
Alignment=0
ColorHover=0
Cursor=0
Underline=1
}
Add(Label,4622,252,460)
{
Left=5
Top=80
Width=100
Height=15
Align=0
Color=-16777201
Font=[Arial,8,0,0]
Transparent=1
Caption="y"
AutoSize=0
Alignment=0
ColorHover=0
Cursor=0
Underline=1
}
Add(DoData,73234,196,459)
{
Data=Integer(0)
link(onEventData,4622:doText,[(240,465)(240,466)])
link(Data,6801:Data2,[(202,448)(188,448)])
}
Add(DoData,17221,189,305)
{
Data=Integer(0)
link(onEventData,36860:doValue,[])
link(Data,98034:MouseY,[(195,243)(174,243)])
}
Add(Label,42613,378,306)
{
Left=5
Top=45
Width=100
Height=30
Align=0
Color=-16777201
Font=[Arial,16,0,0]
Transparent=1
Caption="y"
AutoSize=0
Alignment=0
ColorHover=0
Cursor=0
Underline=1
}
Add(WinEnum,18218,175,350)
{
VisibleOnly=0
Point(GetActiveWindow)
}
Add(DoData,57564,175,557)
{
Data=String()
link(onEventData,47100:doText,[(219,563)(219,564)])
link(Data,17433:CaptionText,[])
}
Add(Timer,48701,42,299)
{
Interval=10
Enable=0
AutoStop=0
link(onTimer,8491:doEvent1,[(82,305)(82,304)])
}
Add(MainForm,18525,28,75)
{
Left=21
Top=105
Width=134
Height=155
Align=0
Color=-16777201
AlphaBlendValue=200
Caption="XY"
BorderStyle=2
WindowsState=0
Icon=[]
ShowType=0
TaskBar=0
DragForm=0
Visible=0
Picture=[]
SavePosition=0
SavePosName="MyProject"
link(onCreate,62991:doPopup,[(70,116)(70,132)(18,132)(18,158)])
}

Программа должна показывать хэндл и заголовок активного окна + координаты мыши. Всё хорошо, кроме заголовка.
Компиляция не выходит:

C:\apps\HiAsm\Elements\code\mouseXY.dpr(205) Error: Undeclared identifier: '_var_CaptionText'

А теперь фокус: убираем связь между WinTools и DoData, програмаа компилится.
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Ответов: 9906
Рейтинг: 351
#2: 2004-09-14 17:29:30 ЛС | профиль | цитата
И правда, "...Нет такой буквы в этом слове!"
Нестыковка в файлах WinTools.ini и WinTools.pas
Если хочется быстро, то замени в WinTools.ini CaptionText на Text.
Или наоборот - в файле WinTools.pas два раза _var_Text на _var_CaptionText.
Вроде после этого работает.
карма: 9

0
Ответов: 96
Рейтинг: 0
#3: 2004-09-14 18:58:10 ЛС | профиль | цитата
Спасибо за подсказку, всё работает!
Уточнение: менять нужно pas, т.к. в ini слово Text уже чудесным образом использовано, и это привело в замешательство не только меня, но и HiAsm.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#4: 2004-09-14 19:06:50 ЛС | профиль | цитата
Согласен! хотя у меня он просто выкинул message и отключил связь, которую я сделал тут же ручками. И ведь работало. А сейчас думаю - как же он догадался куда связь-то?
Тем более, что после исправления *.PAS и перезапускать HiAsm не надо.
карма: 9

0
Администрация
Ответов: 15294
Рейтинг: 1518
#5: 2004-09-14 21:02:12 ЛС | профиль | цитата
Спасибо исправил.

На счет одинаковых имен HiAsm корректно грузит конфигурационные файлы с одинаковыми точками(как в этом случае) и корректно компилирует такие компоненты. Но при сохранение в файле с последующей его загрузкой HiAsm будет соединять только первую точку Text, а другая всегда останется пустой.
карма: 26
0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)