Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.20;
Скачать: CL | DM;

Вниз

DragDrop в ListView   Найти похожие ветки 

 
anod ©   (2002-05-05 20:16) [0]

Возникает ошибка, когда пользователь отпускает перетаскиваемую строку на пересечении 2х строк.(видимо)

s:=DirList.items[DirList.ItemIndex].Caption;
// Вот здесь пытаюсь отследить, но не помогает
if DirList.GetItemAt(x,y).Index<>-1 then
begin
DirList.Items.Delete(DirList.ItemIndex);
i:=DirList.GetItemAt(x,y).Index;
DirList.Items.Insert(i).Caption:=s;
for i:= 0 to length(d)-1 do
d[i]:=trim(copy(DirList.Items[i].Caption,5,length(DirList.Items[i].Caption)));
end;


Помогите, что не так?


 
Song ©   (2002-05-05 20:26) [1]

help:
If there is no item at the location, GetItemAt returns nil.


 
Song ©   (2002-05-05 20:29) [2]

Т.е.
...
IF Assigned(DirList.GetItemAt(x,y).Index) then ...
...


 
anod ©   (2002-05-05 21:04) [3]

Я пытался сравнивать nil
пишет Incopatible types,

А понял !!!!

Не

IF Assigned(DirList.GetItemAt(x,y).Index) then ...



IF Assigned(DirList.GetItemAt(x,y)) then ...



 
anod ©   (2002-05-05 21:06) [4]

Уже 2ой раз так попадаюсь,но по идее если нет Index"a должен вернуть -1 (Где -то в Нелр прочитал)


 
anod ©   (2002-05-05 21:10) [5]

Странно все равно выдает ошибку, только теперь реже.
EAccessViolation

И помоему я выкупил где, если умудрится при перетаскивании выделить сразу несколько объектов (куда перетаскиваешь), то появляется ошибка (хотя я же вычисляю по X, Y ?)?



 
anod ©   (2002-05-06 00:16) [6]

Вроде сделал:

Поставил ещё проверку на Index = -1



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

Текущий архив: 2002.05.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
1-64742
allrussia
2002-05-07 08:06
2002.05.20
Проблема при использовании TIniFile


1-64657
dim-
2002-05-08 15:23
2002.05.20
Что за команда?


7-64847
boykov
2002-02-22 18:34
2002.05.20
Как изменить прошивку HDD?


3-64544
Glonia Zbanov
2002-04-24 11:05
2002.05.20
поиск MSSQL


3-64552
Konuhov sergey
2002-04-18 19:02
2002.05.20
Тип Boolean в InterBase