Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
ВнизЕще раз о том что было Найти похожие ветки
← →
Alibaba (2003-07-16 15:36) [0]Всем привет.
Работу FindFirst/FindNext/FindClose
обсуждали много раз и с различных сторон.
Но у меня такая сторона проблемы,
что я нигде не нашел ответ как её решить.
Обычная процедура:
Описание №1.
function TfrmMain.TaskExist(Task: string): boolean;
var
sr: TSearchRec;
begin
Result:=(FindFirst(Task,faAnyFile,sr) = 0);
FindClose(sr);
end;
Описание №2.
function TaskExist(Task: string): boolean;
var
sr: TSearchRec;
begin
Result:=(FindFirst(Task,faAnyFile,sr) = 0);
FindClose(sr);
end;
Описание №1 отличается от Описание №2 тем, что в первом случае функция описана в главной форме (в главном модуле), а во втором случае я создал дополнительный модуль и там описал функцию.
Результат: в первом случае работает, во втором - ошибка на строке (FindClose(sr)) следующего содержания: "Incompatible types: "Cardinal" and "TSearchRec""
В принципе мне не сложно описать функцию в главном модуле - и пускай себе работает, но.... все равно хотелось бы разобраться - почему не работает во втором случае???
Подскажите плиз, у кого есть соображения по этому поводу.
← →
Юрий Федоров (2003-07-16 15:43) [1]Попробуй написать во втором случае SysUtils.findClose
← →
Alibaba (2003-07-16 16:00) [2]>Юрий Федоров ©
Спасибо!
Помогло.
А почему так? Глюк Дельфовый?
← →
Юрий Федоров (2003-07-16 16:03) [3]У тебя где-то еще есть findClose
поищи.
Либо в этом же модуле, либо в модулях, которые в uses объявлены после sysutils
← →
Юрий Федоров (2003-07-16 16:05) [4]В смысле процедура (функция) с таким названием и с параметром типа cardinal
← →
Alibaba (2003-07-16 16:12) [5]> Юрий Федоров ©
FindClose - нет ни в одном из моих модулей
Возможно где то есть в модулях, которые я подключаю в разделе uses. Но это тоже "вряд ли"
TaskExist - тоже проверил - нигде нет (имя функции - уникально)
← →
Alibaba (2003-07-16 16:14) [6]> Юрий Федоров ©
Ты считаеш - у меня некорректно построена программа?
← →
Юрий Федоров (2003-07-16 16:19) [7]Насчет "некорректно" - не знаю, программы не видел.
Чудес не бывает.
Ты вот напиши ее без sysUtils, вставб параметр Cardinal (чтобы откомпилировалось), и вызови find Declaration по правой кнопке, может она покажет, где это
← →
Плохиш (2003-07-16 16:19) [8]Чудес не бывает!
System, SysUtils, Windows
← →
Юрий Федоров (2003-07-16 16:21) [9]Ну да, значит в Windows
← →
Alibaba (2003-07-16 17:02) [10]>Юрий Федоров © (16.07.03 16:19)
OK.
Попробую... :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c