Форум: "Основная";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
ВнизОшибка Найти похожие ветки
← →
Sergey_Suhoy (2002-11-26 17:40) [0]Очень интересно... Вроде все правильно, но такая конструкция не работает (при выполнении нижеследующего кода возникает ошибка external exception). Прямо гвоздь в ботинке :-). Подскажите, кто знает, в чем я неправ?
//=========CUT============
procedure TForm1.YesBitBtnClick(Sender: TObject);
function FindTXTfiles: TStrings;
var TXTfile: TSearchRec;
TXTFileList: TStrings;
begin
TXTFileList := TStringList.Create;
if FindFirst("C:\*.txt", faAnyFile, TXTfile) = 0 then
begin
TXTFileList.Add("C:\" + TXTfile.Name);
while FindNext(TXTfile) = 0 do TXTFileList.Add("C:\" + TXTfile.Name);
end;
FindClose(TXTfile); Result := TXTFileList; TXTFileList.Free;
end;
begin
DebugMemo.Lines.Add("Обнаружены следующие TXT-файлы...");
DebugMemo.Lines.AddStrings(FindTXTfiles);
end;
//=========CUT============
← →
Smithson (2002-11-26 17:50) [1]А на какой конкретно строке возникает ошибка?
И что значит Result := TXTFileList;, у тебя же процедура? Код, похоже, не полный?
← →
mike-d (2002-11-26 17:50) [2]Что-то ты тут со Strings намудрил...
Result := TXTFileList; // Result := указателю на объект
TXTFileList.Free; // тут ты его тихо прибил
DebugMemo.Lines.AddStrings(FindTXTfiles); // что теперь вставлять будем?
← →
MBo (2002-11-26 17:52) [3]procedure FindTXTfiles(TXTFileList:TStrings);
...
FindTXTfiles(DebugMemo.Lines);
← →
mrcat (2002-11-26 17:57) [4]дык оно и не должно работать!!!
смотри:
procedure FindTXTfiles(const str: TStrings);
var
TXTfile: TSearchRec;
TXTFileList: TStrings;
begin
TXTFileList := TStringList.Create;
if FindFirst("C:\*.txt", faAnyFile, TXTfile) = 0 then begin
TXTFileList.Add("C:\" + TXTfile.Name);
while FindNext(TXTfile) = 0 do TXTFileList.Add("C:\" + TXTfile.Name);
end;
FindClose(TXTfile);
Str.AddStrings(TXTFileList); TXTFileList.Free;
end;
begin
DebugMemo.Lines .Add("Обнаружены следующие TXT-файлы...");
FindTXTfiles(DebugMemo.Lines);
end;
← →
MBo (2002-11-26 18:05) [5]>mrcat
Ну ты наворотил...
procedure FindTXTfiles(TXTFileList:TStrings);
var TXTfile: TSearchRec;
begin
if FindFirst("C:\*.txt", faAnyFile, TXTfile) = 0 then
begin
TXTFileList.Add("C:\" + TXTfile.Name);
while FindNext(TXTfile) = 0 do TXTFileList.Add("C:\" + TXTfile.Name);
FindClose(TXTfile);
end;
end;
← →
mrcat (2002-11-26 18:07) [6]>>MBo
неважно, оптимизацией пусть сам занимается =)
← →
tv (2002-11-26 18:18) [7]По моему тут дело все в TXTFileList: TStrings.
Попробуй
function FindTXTfiles: TStringList;
var TXTfile: TSearchRec;
TXTFileList: TStringList;
ну и так далее...
← →
mrcat (2002-11-26 18:21) [8]>>2tv
>>По моему тут дело все в TXTFileList: TStrings.
истина в ... процедуре
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c