Тема: Странно...
Показать сообщение отдельно
  #2  
Старый 20.02.2009, 07:38
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

А значения переменных px и py чему равны? Если их прибавлять к координатам мышиного курсора вот и получим смещение влево и вниз. Это первое. Второе: Mouse.CursorPos - это глобальные координаты курсора на экране. Т.е. чтобы считать координаты относительно формы вместо Mouse.CursorPos надо применять координаты которые переданы в параметрах процедуры FormMouseDown (так: Xn := X + px);
В третьих (не относится к координатам): а где создание TShape и TLabel при очередном тычке мышкой? В массив добавляется структура с новыми переменными, ссылающимися на классы TShape и TLabel, а создавать экземпляры этих классов никто не собирается.
И четвертое: присваивать свойству Parent компонента переменную указывающую на ту же форму, в которой он создается в общем случае неверно - надо применять self (либо другой компонент).
Приведенный код не работоспособен - ошибки надо исправлять.
__________________
Не забывайте делать резервные копии
Ответить с цитированием