Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-14360
oss
2002-11-15 00:36
2002.12.05
BPL из BPL я


3-14460
poops66
2002-11-19 00:06
2002.12.05
Path to ODBC user data source


4-14866
Max2
2002-10-24 15:12
2002.12.05
Changing a size of window


6-14706
and1
2002-10-09 21:00
2002.12.05
hab, switch


3-14406
Ренат
2002-11-15 10:38
2002.12.05
Обновляемы просмотры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский