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

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

Есть две проги одна складывает данные в... [D7, 95/98, 2000, XP]


balepa ©   (2006-09-29 09:50:00) 

Есть две проги одна складывает данные в файл каждую секунду другая их оттуда берет (по сети) и отображает.

Теперь проблема.
Если их запустить на одном компе с Win98 то вторая все берет и отображает.
А если На разных то программа которая берет и отображает вроде как ничего неберет (один раз берет а дальше нет а может и

берет только постоянно одно и тоже число).
А если на том которая берет и отображает стоит XP или W2k все работает, а если Win98 то нет.

Открывает файлы

Files[1]:= CreateFile('\\sbor\trm600.dat',GENERIC_READ,FILE_SHARE_READ or

FILE_SHARE_WRITE,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);

Files[2]:= CreateFile('\\sbor\trm60m.dat',GENERIC_READ,FILE_SHARE_READ or

FILE_SHARE_WRITE,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
 
Files[3]:= CreateFile('\\sbor\trm24h.dat',GENERIC_READ,FILE_SHARE_READ or

FILE_SHARE_WRITE,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);

//ОПрос
procedure Opros(Tip: Integer);
var
 FB,FB2: SmallInt;
 nRead: Cardinal;
begin
 SetFilePointer(Files[Tip],0,nil,FILE_BEGIN);
 ReadFile(Files[Tip],FB,sizeof(FB),nRead,nil);
 FB2:= Vvod[Tip];
 SetFilePointer(Files[Tip],FB2*sizeof(TSborRecord)+2,nil,FILE_BEGIN);
 repeat
 //while FB<>FB2 do begin
   ReadFile(Files[Tip],Sbor,sizeof(TSborRecord),nRead,nil);
   DN[FB2,Tip]:= Sbor;
   FB2:= FB2+1;
   if FB2>599 then begin
     FB2:= 0;
     SetFilePointer(Files[Tip],2,nil,FILE_BEGIN);
   end;
   Vvod[Tip]:= FB2;
//  end;
 until FB=FB2;
end;


Кто что думает ?


balepa   (2006-10-02 06:10:00) [1]

Ну че никто ничего неподскажет


Elen   (2006-09-29 11:24:00) [2]


> balepa

Наверное потому что 98 не очень с сетями дружит (просьба мастеров помидоры не кидать - это предположение)


balepa   (2006-09-29 11:07:00) [3]

Elen ©   (29.09.06 09:54) [1]
Вопрос не в том файлы или сокеты, а в почему в 98 не работает а в XP и W2k работает ?


Elen   (2006-09-29 10:05:00) [4]


> Sergey13 ©

+ Stream. Да и вообще может лучше вместо API использовать стандартне паскалевские Read..Write? (Sorry если фигню морожу, просто Win98 всетаки староват)


Sergey13   (2006-09-29 10:01:00) [5]

> [1] Elen ©   (29.09.06 09:54)

+ или БД.


Elen   (2006-09-29 09:54:00) [6]


> Есть две проги одна складывает данные в файл каждую секунду
> другая их оттуда берет

А что обязательно файлами барахтаться? Сокеты не подходят?


Наверх

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