Прошу помощи
Вложений: 2
Привет, ситуация: есть CheckListBox. Изначально пустой, по ходу работы программы туда добавляются имена файлов. Программа производит сканирование всех *.exe и *.dll, ищет в них некоторую сигнатуру. Если находит - добавляет имя файла в CheckListBox.
Хочется сделать чтоб если юзер нажал на имени файла в CheckListBox - показалось информация - размер файла, и некоторая другая информация об этом файле (см скриншот внизу). Очень не хотелось заморачиваться с динамическим списком, поэтому делаю через костыль примерно так: Есть тип: PHP код:
PHP код:
Это уже если нашли DLL или EXE: PHP код:
PHP код:
|
Ответ: Прошу помощи
Цитата:
|
Ответ: Прошу помощи
Цитата:
PHP код:
А насчет связных списков - оно конечно правильно, но вот только сильно влом ))) Вообщем-то тулзу можно сказать для себя пишу, и не хочется заморачиваться с ними просто. Я конечно понимаю, что это быдлокод :) А насчет памяти там вообще волноватся не стоит. Я ж каждый файл гружу в память, не смотря на его размер. Когда прогонял тесты, попался EXE файл размером в 900 мб (архив самораспаковывающийся), так я его тоже в память подгрузил прямо весь )) Надо будет потом ограничение сделать и не грузить такие файлы )) |
Ответ: Прошу помощи
Хм, а проблема то не здесь похоже. Почему-то функция не возвращает на первом файле никаких параметров... Хм..
|
Ответ: Прошу помощи
если дашь исходник мне проще будет помочь. со списками я тррррр(ну ты понял :))лся очень долго и много. :)
|
Ответ: Прошу помощи
Да не, проблема как выяснилось не в этом. Проблема в том, что функция
res := SearchSign(path+'\'+sr.name,False,S,SZ) при нахождении первого файла не возвращает в S и SZ ничего. Сама функция находится в отдельном модуле и описана так: Function SearchSign(FName: string; DoIt: Boolean; var Sinf:String; var SiZ:Cardinal): Integer; тоесть Sinf и SiZ - возвращаемые параметры.. Вообще мне все это не нравится, какой-то говнокод получается, прям самому тошно на это смотреть :) Но баг интересный, подозреваю что какие-то косяки с проклятыми потоками. Как же я их не люблю, кто бы знал. Буду все это переписывать, возможно не все, а попробую возвращать инфу из функция через глобальные параметры. |
Ответ: Прошу помощи
ну можно не через глобальные переменные а разделить эти функции на 2 по каждому результату.
|
Ответ: Прошу помощи
Уфф, разобрался с багом. Лог-файл полезная вещь )
Оказывается когда я обходил элементы списка, выводил сначала всю инфу, если ID совпадали, а потом шел дальше по списку и упирался в конец с пустыми элементами, где ID тоже было равно 0. И вся инфа перезатиралась пустой ). Все, что нужно было сделать - написать Index-1, вместо Index :) |
Часовой пояс GMT +4, время: 14:03. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot