![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть две проги одна складывает данные в... [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]
> Есть две проги одна складывает данные в файл каждую секунду
> другая их оттуда берет
А что обязательно файлами барахтаться? Сокеты не подходят?