Абстрактный вопрос. Перетаскивание по форме.

Ребята, подскажите, в какую сторону копать: Есть 2 копии проекта. В старой есть юнит 11. В нем реализовано перетаскивание лейблов по форме.
procedure TForm11.Label11MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
Label11.BringToFront;
if Button<>mbLeft then
move:=False else
begin
move:=True;
x0:=x;
y0:=y;
end;
end;

procedure TForm11.Label11MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
begin
if move then begin
Repaint;
Label11.SetBounds(Label11.Left+x-x0,Label11.Top+y-y0,Label11.width,Label11.height);
end;
end;
Допустим так. Все работает - все замечательно. Вчера в более новой версии этой программы вносил изменения по рисайзингу формы - по непонятным причинам перетаскивание перестало прорисовываться. То есть я нажимаю на Лейбл, он фиксируется, и выполняется процедура Маус Мув, но сам лейбл остается неподвижным. Движется только курсор, а лейбл остается на месте. По отпусканию кнопки - он меняет свою позицию, как и должно быть, но увидеть изменения можно только свернув-развернув форму.То есть исчезла прорисовка. Из-за чего это может быть? Я взял, и переместил рабочие юниты из старого проекта в новый - но тут и они не работают. Хотя в старой версии с ними - все ок.Самое интересное, что в приложении есть подобная форма, но с другим фоном и расположением объекта. Код - 1 в 1. Все работает. То ли это проблема с АльфаСкинс, то ли еще с чем, я уже всю голову сломал. Но по идее, ошибка не в юните с формой, а где-то в самом проекте, потому как непонятно, как один и тот же юнит может работать в одном проекте корректно, и некорректно работать в другом? В какую сторону копать стоит? Задайте направление!)
3 ответа

Только что решил проблему. Имейдж лежит на sпанели, и замена строки Repaint на sPanel1.Repaint - помогла. Но все таки, почему ТАКАЯ ЖЕ ФОРМА, работает в другом проекте, а тут нет? Предположим это бока АльфаСкинов, но как одно и тоже действие, пускай даже с использованием одного и того же ГЛЮЧНОГО компонента может по разному себя вести в зависимости от времени суток?)


замена строки Repaint на sPanel1.Repaint - помогла
А вы изначально действительно хотели вызвать Form11.Repaint? Или всё-таки это ошибка, а хотелось вызвать Label11.Repaint?


Изначально была ошибка, в этом и вопрос! Как так получается, что при одном и том же коде, оно то работает, то не работает?) Хотя по факту, вообще не должно было работать