Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2017, 12:34   #1
Rockot
Форумчанин
 
Аватар для Rockot
 
Регистрация: 01.06.2012
Сообщений: 139
Восклицание Drag and drop найти источник

Доброго времени суток.

На форме cxGrid отображает данные из таблицы, в этой таблице ссылка на ftp и наименование файла.

Сделал d&d туда и обратно:

1. При перетаскивании на grid записываем в базу, грузим на ftp
2. При перетаскивании в другое место, просто скачиваем файл.

Суть проблем

1. В качестве получателя в d&d выступает форма, т.к. при попытке установить права на cxGrid ничего не происходит.

Код:
DragAcceptFiles( TfmDocumentFiles( FDocumentFiles ).Handle, True );
Искал класс cxGrid который находиться под мышкой во время того как бросаем файл. Оказалось это TcxGridSite
Код:
DragAcceptFiles( cxGrid.Site.Handle, True ); // не привело ни к какому результату
Погуглив проблему оказалось, что функции D&D работают только на компонентах, которые унаследованны от TControl, а как быть с cxGrid ?


2. При перетаскивании из программы тобеж делая Drop, если бросить файл обратно на Grid то отрабатывает Drag( файл задваивается и грузиться по новой на ftp ), как понять или как отключить получение файла формой во время Drop.

Костылём могу исправить, но как по уму не совсем понятно.


Если дал очень мало вводных пишете, всё расскажу)


Код не прикладываю, т.к. очень громоздко и интересна сама теория, в интернете искал, но по какой-то причине ничего внятного не нашёл.

Случаев, когда компонент и приёмщик и получатель почти не разобраны, в случае с файлами.
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
Rockot вне форума Ответить с цитированием
Старый 15.12.2017, 03:35   #2
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

ТО БИШЬ, а не "тобеж"
kropotkina-alice вне форума Ответить с цитированием
Старый 15.12.2017, 09:07   #3
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

а киньте на форму сначала объект, который нормально воспринимает перетаскивание и бросание, типа Memo, но сделайте его Visible недействительным. а над ним уже растяните свою таблицу. и далее, выуживайте из Memo имя и путь объекта и работайте с таблицей. если нет другого пути...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Drag and drop linkoln_7 ASP.NET 0 19.11.2014 22:22
drag and drop c# katbka Помощь студентам 1 05.03.2012 05:09
Drag And Drop Adyvan C# (си шарп) 0 04.03.2012 06:27
drag and drop kelty Помощь студентам 0 11.09.2009 23:00
Нужна помощь (Drag-And-Drop & Drag-Abd-Dock)) Arkuz Общие вопросы Delphi 1 18.04.2009 00:15