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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2017, 12:08   #1
Артист
Пользователь
 
Регистрация: 14.10.2017
Сообщений: 35
По умолчанию Не создаются группы в ListView.

Совершенно одинаковый код, в тестовом проекте и основном.
Даже в тестовом так же поток сделал.

Не создаются и всё тут:
1.jpg
А в тестовом всё нормально:
2.jpg

Тестовый проект: ChekBox to ListView.rar
Основной проект: Find Copy File.rar

Кто может посмотреть?
2-й день не могу найти причину, всё перепроверил...

П.с. в основном проекте нужно указать папку с 2-мя пустыми текстовыми файлами, и нажать старт.

Последний раз редактировалось Артист; 23.11.2017 в 12:19.
Артист вне форума Ответить с цитированием
Старый 23.11.2017, 15:20   #2
Артист
Пользователь
 
Регистрация: 14.10.2017
Сообщений: 35
По умолчанию

Создал 3 кнопки на форме с ListView:
Безымянный.jpg

И всё равно не работает.

Код:
procedure TForm2.Button1OnClick(Sender: TObject); // Добавить итем
begin
  ListItem := ListView1.Items.Add;
  ListItem.GroupID := GroupID;
  ListItem.Caption := 'Итем №' + IntToStr(ListItem.Index); // Первая колонка
end;
 
procedure TForm2.Button2OnClick(Sender: TObject); // Добавить группу
begin
  Inc(GroupID);
  ListGroup := ListView1.Groups.Add;
  ListGroup.Header := 'Группа №' + IntToStr(GroupID);
  ListGroup.GroupID := GroupID;
end;
 
procedure TForm2.Button3OnClick(Sender: TObject); // Очистить
begin
  ListView1.Clear;
end;
Все свойства ListView выставлены:
Код:
GridLines = True
GroupView = True
ViewStyle = vsReport
Даже проверил, может из-за количества колонок, но нет:
2.jpg
Артист вне форума Ответить с цитированием
Старый 23.11.2017, 18:20   #3
Артист
Пользователь
 
Регистрация: 14.10.2017
Сообщений: 35
По умолчанию

Опытным путём выяснил, что группы не создаются из-за настроек проекта.
Только я их не менял, убрал только пару хинтов о том что функция только под винду.
Подключал рабочую форму - не работало.
Пробовал в тестовом через 2ю форму выводить - работало.
Артист вне форума Ответить с цитированием
Старый 23.11.2017, 21:52   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Во-первых, запустил Ваш проект - группы создаются.
Во-вторых, у Вас как-то не очень корректно организована работа с двумя формами: 1) если в первый раз вторую форму со списком дублей закрыть - программа при выходе выдаст ошибку "Недопустимый дескриптор окна";
2) при повторном старте вторая форма не открывается;
3) вторая форма открывается не как модальная, несмотря на ShowModal;
4) если вторая форма открыта и нажать "Старт" - увидите интересную картину: все файлы в форме задвоятся. Потом затроятся, зачетверятся и т.д. при каждом старте.

Подозреваю, что это последствия того, что Вы работаете с компонентами VCL прямо из потока без синхронизации.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 23.11.2017 в 22:02.
Sciv вне форума Ответить с цитированием
Старый 24.11.2017, 08:58   #5
Артист
Пользователь
 
Регистрация: 14.10.2017
Сообщений: 35
По умолчанию

Спасибо. ))
Да, ошибки были, перенёс и показ 2й формы и заполнение ListView в синхронизацию, все они исчезли.
А группы не создавались из-за того, что я файл Find_Duplicate.res удалял.
После установки старых компонентов, у меня сложилось мнение, что при каком либо изменении нужно удалять файлы *.dcu, а заодно и те, что создаются автоматически.
Пересоздал проект - всё работает, и даже прогрессбар начал отображаться. ))
Артист вне форума Ответить с цитированием
Старый 24.11.2017, 09:04   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Артист Посмотреть сообщение
что при каком либо изменении нужно удалять файлы *.dcu
Не нужно их удалять, они всё-равно ребилдятся каждый раз. В крайнем случае можно делать Compile - Build.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 24.11.2017, 10:26   #7
Артист
Пользователь
 
Регистрация: 14.10.2017
Сообщений: 35
По умолчанию

Буду знать теперь, спасибо. ))
Артист вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не создаются файлы .rc bambarbia Visual C++ 1 06.03.2013 16:15
Не создаются программы... Иван=) Помощь студентам 5 03.11.2010 18:34
Группы символов, состоящие только из латинских букв, если первая буква группы входит в нее еще только оди Ela Помощь студентам 0 29.04.2010 13:41
Строки(группы букв и группы знаков), Pascal Mrs Smith Помощь студентам 1 10.12.2009 16:31
Как создаются MMOG [Smarik] Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 20.01.2009 00:31