Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по TFileStream.Create [D6, Win95/98, WinME, Win2k]


Dennis S ©   (2003-01-03 10:01:00) 

При выполнении в Win"98 и WinME
fs := TFileStream.Create(OpenF.FileName, fmOpenRead, fmShareDenyNone); все пучком, а под Win"2К, при открытии начинает исчезать свободное место на диске(на размер выбранного файла)... :(
Кто-нить знает ПОЧЕМУ и как этого избежать?


Dennis S   (2003-01-03 12:01:00) [1]

Извиняюсь, сообщение и в том и в другом варианте..... :(


Dennis S   (2003-01-03 11:59:00) [2]

Это относится к 2: (FileName, Mode, Rights)
fs := TFileStream.Create(OpenF.FileName, fmOpenRead, fmShareDenyRead);

1-ый вариант...
fs := TFileStream.Create(OpenF.FileName, fmOpenRead or fmShareDenyRead);
...проходит без сообщений компилятора


Dennis S   (2003-01-03 11:55:00) [3]

Может быть это было из-за этого:
[Warning] main.pas(67): Symbol "fmShareDenyRead" is specific to a platform
???


Anatoly Podgoretsky   (2003-01-03 11:36:00) [4]

Возможно, что в Д6 появились перекрытые функции


Dennis S   (2003-01-03 11:32:00) [5]

Потому как есть 3 вида c TFileStream.Create
1: (FileName, Mode)
2: (FileName, Mode, Rights)
3: (AHandle)

так-то вот...
Сначало, значит был вариант 2, сейчас - 1...


Dennis S   (2003-01-03 11:28:00) [6]

Однако откомпелировалось и работало - ФАКТ!
???


Anatoly Podgoretsky   (2003-01-03 11:25:00) [7]

Со старым кодом у тебя и откиомпилороваться бы не смогло


Dennis S   (2003-01-03 11:20:00) [8]

Тогда такой вопрос:
почему со старым кодом ("неправильным") под Win98 и WinME все "пахало", а под Win2K рос какой-то temp-файл или еще что-то неадекватное...?


Anatoly Podgoretsky   (2003-01-03 10:47:00) [9]

Ну нам не видно, какие тебе там ошибки выдает, также и остальная часть кода, зато сейчас приведенная часть правильная.


Dennis S   (2003-01-03 10:43:00) [10]

Ну да, в хелпе вроде только 2...
Поставил
fs := TFileStream.Create(OpenF.FileName, fmOpenRead or fmShareDenyRead);
Вроде работает (но сообщения об ошибках при доступе к файлу изменились)
Хотя, то что писал с начала, было взято с какой-то конфы или FAQ
Не могу сейчас проверить под Win2K...


Anatoly Podgoretsky   (2003-01-03 10:12:00) [11]

Ну я думаю ты можешь сам посчитать количество приведенных тобой параметров и сделать вывод мало их или много. Но если не справишься, то спрашивай еще.


Dennis S   (2003-01-03 10:08:00) [12]

Ты имеешь в виду, что у меня мало или много (параметров)?


Anatoly Podgoretsky   (2003-01-03 10:05:00) [13]

У TFileStream.Create всего два параметра


Наверх

Титульная страница Поиск, карта сайта Написать письмо