Вверх ↑
Ответов: 262
Рейтинг: 6
#1: 2006-10-04 09:44:20 ЛС | профиль | цитата
Dilma т.е. согласно ТЗ, вместо того чтобы пересадить Васю на место 3, надо пересадить Васю на место Коли ? ...хмм
Вижу два варианта развития событий:
1. среда возвращает имена двух элементов в плагин.
- тогда вообще теряется смысл процедур MoveToUp и MoveToDown о которых говорилось выше.
Есть плюс - выглядит весьма компактно и универсально. Причем одна процедура MoveTo позволит перемещать элементы не тоько в одной вкладке но и между вкладок.
Есть минус - среде прийдется отыскивать имя второго элемента(ToID) что при наличии Drop&Drop проблемы не создаст. А вот при нажатии пункта меню "Переместить вверх" окажется не так уж просто(наверно ? ).

2. Среда возвращает только одно имя FromID в плагин.
тогда прийдется в ElMen.dll сделать
function FindNextEl(ElID: Pchar): PChar;
function FindPrevEl(ElID: Pchar): PChar;
а в hitools.dll тогда
procedure MoveToUpEl(FromID: PChar);
ToID: PChar;
begin
openDB...
ToID:=FindPrevEl(ElID);
MoveTo(FromID,ToID);
end;

И первый и второй вариант просто реализовать. Как бы только определиться с направлением.

[size=-2]------ Добавлено в 09:44
MoveEl(FromID, ToID) code_373
карма: 0

0
файлы: 1code_373.txt [1.3KB] [566]