Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Глюки с TFileStream.Create 
V
    Опции темы
ShadowDancer
Дата 20.6.2006, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



TFileStream.Create стоит у меня в цикле. В FileStrem загружаю так: 
Код
TFileStream.Create(Memo1.Lines.Strings[I], fmOpenRead)

Выдаёт ошибку типа файла нет, и при этом в ошибке показывается обрезанный путь к файлу. Если в названии папки больше 8-и букв (полный путь такой: E:\EXE\123456789\Project1.exe), тогда такой глюк, иначе всё норма.

Проверял этот код отдельно - ВСЁ работает.

Из-за чего это может быть ? 
PM MAIL   Вверх
Yanis
Дата 20.6.2006, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(ShadowDancerNew @  20.6.2006,  01:00 Найти цитируемый пост)
Если в названии папки больше 8-и букв (полный путь такой: E:\EXE\123456789\Project1.exe), тогда такой глюк, иначе всё норма.

Мне кажется дело не в этом (что бы не быть голословным только что специально проверил). Попробуй после строчки в которой возникает ошибка написать ShowMessage(SysErrorMessage(GetLastError)); Посмотри, что за ошибка возникает... 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
ShadowDancer
Дата 20.6.2006, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



Ты знаешь, как то ничего не выскакивает. В смысле ShowMessage.  

Это сообщение отредактировал(а) ShadowDancerNew - 20.6.2006, 01:07
PM MAIL   Вверх
Sunvas
Дата 20.6.2006, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Пытаешься прочитать из себя? Используй memorystream. 


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
ShadowDancer
Дата 20.6.2006, 02:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



Sunvas, в смысле ? 
PM MAIL   Вверх
Sunr1se
Дата 20.6.2006, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 1.5.2006

Репутация: 6
Всего: 13



ShadowDancerNew, попробуй сначала скопировать путь к файлу в переменную, а затем уже создавать поток:
Код

Temp := Memo1.Lines.Strings[I];
TFileStream.Create(Temp, fmOpenRead);
  

Это сообщение отредактировал(а) Sunr1se - 20.6.2006, 08:48
--------------------
IRC-канал Винграда 
PM MAIL ICQ   Вверх
Mechanic
Дата 20.6.2006, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.5.2006
Где: Kharkov, Ukraine

Репутация: 6
Всего: 7



А так?
Код

ShowMessage('*'+Memo1.Lines.Strings[I]+'*');
TFileStream.Create(Memo1.Lines.Strings[I], fmOpenRead);


или скорее даже так
Код

TFileStream.Create('"'+Memo1.Lines.Strings[I]+'"', fmOpenRead);


smile 
--------------------
Tell me the extensions of the files You backup and I'll tell You who You are..  ©Mch  
PM   Вверх
Sunr1se
Дата 20.6.2006, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 1.5.2006

Репутация: 6
Всего: 13



Mechanic, тогда уж вот так:
Код

TFileStream.Create(#39+Memo1.Lines.Strings[I]+#39, fmOpenRead);
 
--------------------
IRC-канал Винграда 
PM MAIL ICQ   Вверх
Демо
Дата 20.6.2006, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(ShadowDancerNew @  20.6.2006,  00:00 Найти цитируемый пост)
Проверял этот код отдельно - ВСЁ работает.


Что значит - отдельно? 


--------------------
    
PM MAIL ICQ Skype   Вверх
ShadowDancer
Дата 20.6.2006, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



Цитата(Демо @  20.6.2006,  10:10 Найти цитируемый пост)
Что значит - отдельно?  

То есть в новой программе. 
PM MAIL   Вверх
Yanis
Дата 20.6.2006, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



ShadowDancerNew
Так можно долго гадать. Показывай свой код полностью, если хочешь что бы тебе помогли. 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
ShadowDancer
Дата 20.6.2006, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



Цитата(Sunr1se @  20.6.2006,  09:07 Найти цитируемый пост)
TFileStream.Create(#39+Memo1.Lines.Strings[I]+#39, fmOpenRead);

Делал так выдаёт: синтаксическая ошибка.

Переносил в переменную - тоже самое.

Цитата(Mechanic @  20.6.2006,  08:54 Найти цитируемый пост)
ShowMessage('*'+Memo1.Lines.Strings[I]+'*');

Выдаёт тот глючный, обрезанный путь.
 
PM MAIL   Вверх
Yanis
Дата 20.6.2006, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(ShadowDancerNew @  20.6.2006,  11:33 Найти цитируемый пост)
Выдаёт тот глючный, обрезанный путь.

Скажи, а в Memo случайно переноса у тебя нету? Строка с полным путём к программе полностью в него помещается? 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
ShadowDancer
Дата 20.6.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



Обрезались smile 
Теперь всё работает. smile  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0524 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.