![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 22.04.2010
Сообщений: 5
|
![]()
Добрый день, коллеги!
Передо мной была поставлена задача написания нового софта под старое оборудование. Задача заключается в опросе оборудования и циклической записи в файл, анализирует который другая прога. Данные в файл записываются верно (сравнивалось с оригинальным софтом за большие периоды), но вот анализирующая программа явно считывает файл с ошибками(( Т.е. налицо конфликт расшаривания файла... Открытие и запись в файл производится следующим образом: FileHandle:=CreateFile('C:\NewFile. bin', GENERIC_WRITE, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0); WriteFile(FileHandle,array,100,_WRe d,nil); Оригинальная программа была написана под MS-DOS, конфликта с анализирующей программой нет. Возможно, кто-нибудь сталкивался с такой проблемой? Буду благодарен за совет. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
попробуйте полный шаринг дать...ДОС программа скорее всего шаринг вообще не юзает.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 13.01.2008
Сообщений: 140
|
![]() Код:
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 22.04.2010
Сообщений: 5
|
![]() |
![]() |
![]() |
![]() |
#5 |
Регистрация: 22.04.2010
Сообщений: 5
|
![]() |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
да, там еще DELETE шаринг есть...попробуйте...но есть вероятность того что программа хочет эксклюзивного доступа к файлу
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 22.04.2010
Сообщений: 5
|
![]()
Да вроде не должно быть такого - ан. прога - просто читает, монопольного доступа тоже вроде ей не надо - с моей стороны - чистая запись примерно по 10 бинарных строк в сек.
|
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 13.01.2008
Сообщений: 140
|
![]()
Да, кстати еще может быть неправильно записана функция WriteFile(FileHandle,array,100,_WRe d,nil);
Точно не помню, но если массив динамический, то так: WriteFile(FileHandle,arr[0],100,_WRe d,nil); |
![]() |
![]() |
![]() |
#10 |
Регистрация: 22.04.2010
Сообщений: 5
|
![]()
Массив статический, к тому же запись идёт правильная - проверялась на длинных логах. Результаты конфликта - только в анализирующей проге.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ищу партнёров для совместного заработка | JarProger | Фриланс | 6 | 14.09.2009 09:30 |
Имя mp3 файла без использования Bass | Дима я | Мультимедиа в Delphi | 7 | 28.07.2009 12:24 |
конфликт файла записей и компонентов формы | Deathwatcher | Общие вопросы Delphi | 9 | 14.11.2008 13:03 |