Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2015, 22:48   #1
Alekseyh
Пользователь
 
Аватар для Alekseyh
 
Регистрация: 18.09.2012
Сообщений: 41
По умолчанию Рекурсивный вызов метода объекта D7.

Такая штука есть Thread c методом Tthread.poisk(Path:string;Mask:stri ng);
выполняет поиск файлов по маске в path рекурсивно вызывая себя. (Ну пограйней мере так было задумано ) Пока метод был просто процедурой все было норм. но почему то после того как процедура стала методом в сети ничего о рекурсивном вызове методов ни чего не нашел. В принципе это не проблема но для удобства хотелось сделать методом. Хотелось бы знать это из-за рекурсивного вызова метода? Если надо могу дать исходник.
Alekseyh вне форума Ответить с цитированием
Старый 28.09.2015, 00:29   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

а чо не так-то? какие проблемы?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 28.09.2015, 06:46   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
в сети ничего о рекурсивном вызове методов ни чего не нашел.
Правильно. Потому что метод вызывается точь-в-точь как функция.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.09.2015, 21:21   #4
Alekseyh
Пользователь
 
Аватар для Alekseyh
 
Регистрация: 18.09.2012
Сообщений: 41
По умолчанию

Цитата:
Сообщение от min@y™ Посмотреть сообщение
а чо не так-то? какие проблемы?
будучи методом не ищет.
Alekseyh вне форума Ответить с цитированием
Старый 28.09.2015, 21:22   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
будучи методом не ищет.
Может пора уже похвастаться кодом?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.10.2015, 22:51   #6
Alekseyh
Пользователь
 
Аватар для Alekseyh
 
Регистрация: 18.09.2012
Сообщений: 41
По умолчанию Я выспался!

Снова здрасти! ) Я выспался и нашел ошибку! Как выяснилось все робит, косяк был в том, что я Алеша пытался записать файл логов, который открыт RESET-ом

Теперь проблема другая мне нужно загрузить в TMemoryStream данные из TFileStream для последующей обработки
делаю так:
Код:
try
 BufferStream.Position:=0;
 BufferStream.SetSize(Fstream.Size);
 BufferStream.CopyFrom(Fstream,Fstream.Size);

  except
  writeln(LogFile,' Fail! Because: data err2');
  closeFile(LogFile);
    Mstream1.Free;
   Mstream2.Free;
   Fstream.Free;
   BufferStream.Free;
  exit;
 end;
Все робит для мелких файлов но для файлов больших(точно пока не определил в районе < 10MB) вылетает ошибка Stream Read Error именно в этом месте:
Код:
BufferStream.CopyFrom(Fstream,Fstream.Size);
Файлы больше 70Мб не используются, Для них пишется особый алгоритм.

ОПЯТЬ! Я забыл, что до того как CopyFrom() я читаю 20 байт из TfileStream. Странно, что на малых файлах это не генерило ошибку. А Сюда полезно писать, хотяб, что бы осознать, что я там на говнокодил.

Последний раз редактировалось Alekseyh; 01.10.2015 в 23:24. Причина: Опять! Ой Алёша.
Alekseyh вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсивный вызов функции AlFina Помощь студентам 1 16.09.2015 18:36
Вызов метода из программы Максим139 C# (си шарп) 5 26.05.2013 00:47
C# Вызов метода без создания объекта. Предотвращение изменения фокуса. Colder M Помощь студентам 3 03.05.2011 23:42
Вызов метода из метода kuzjma PHP 8 10.12.2010 02:38
Рекурсивный вызов функции main fs444 Общие вопросы C/C++ 6 05.04.2010 18:47