| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Проблема с передачей массива в ф-цию |
| Автор: dimych83 12.2.2008, 10:02 | ||||
| Добрый день! Помогите пожалуйста... есть след. код:
Есть ф-ция которая должна заполнять указанный массив именами файлов и возвращать их кол-во. Но при вызове ф-ции возникает ошибка (указано в комментариях), что не совпадают типы переменных. Но по идеи-то в ф-ции описано что должен передаваться массив и фактически передается массив, в чем проблема?
|
| Автор: Qu1nt 12.2.2008, 10:18 | ||
Один из вариантов:
Т.е. убрать var. |
| Автор: dimych83 12.2.2008, 10:29 | ||||
Спасибо... не заметил |
| Автор: dimych83 12.2.2008, 12:33 | ||
Еще проблемка появилась
Вызывается ф-ция GetLogFile которая заполняет массив LogFiles именами файлов и возвращает кол-во файлов. Далее, для каждого файла из массива вызывается ф-ция ExtractFile, но там вываливается ошибка AccessViolation. Подскажите пожалуйста в чем проблема может быть? |
| Автор: THandle 12.2.2008, 13:46 |
| dimych83, может быть потому что в цикле переменная i всегда равна 1? Хотя я могу быть не прав, нет возможности проверить. |
| Автор: Qu1nt 12.2.2008, 17:13 | ||||||||
| Гхм. Во-первых: Зачем использовать
Будем пользоваться, например, TStringList. Во-вторых: Твоя функция GetLogFile - содержит много ошибок. Например, она никогда не вернет 0. Заменим ее на более логичную процедуру:
В-третьих: Функция ExtractFile - написана не лучше, предыдущей Будем использовать такую:
Наконец, перепишем BitBtn1Click:
Фухх, вроде все. |
| Автор: MetalFan 12.2.2008, 23:29 | ||
а смысл тогда в var, если внутри функции список не создается? |
| Автор: Qu1nt 12.2.2008, 23:39 |
Первоначально так и задумывалось. Излишки производства) |