Вниз
Скачать: CL | DM;

Помогите с пробоемой   Найти похожие ветки 

← →
abcd   (2002-12-19 17:43) [0]

type
PBuffer = ^TBuffer;
TBuffer = array [Byte] of Char;
var buf: PBuffer;

begin
...
AssignFile(f,"123");
Rewrite(f);
BlockWrite(f,buf^,4);
...
end;
в файл помимо нужной информации пишется что-то левое, хотя я из буфера беру, допустим 4 символа.


← →
Reindeer Moss Eater   (2002-12-19 17:47) [1]

Пишется то, на что указывает ни на что не указывающий buf


← →
abcd   (2002-12-19 17:53) [2]

если подробней, то до этого кода:
src := TFileStream.Create("234",fmOpenRead);
while src.Position < src.Size do
cnt := src.Read(buf^, SizeOf(buf));


← →
Sha ©   (2002-12-19 17:53) [3]

Нам видно все, что между точек...


← →
Digitman ©   (2002-12-19 17:56) [4]

Нет, ну а инициализация переменной buf где ? она вообще существует у тебя в коде ДО всего того, что ты привел ?


← →
abcd   (2002-12-19 17:59) [5]

Это посылка с сервера:
src := TFileStream.Create("234",fmOpenRead);
sServ.Socket.Connections[0].SendText(IntToStr(src.Size));
New(buf);
while src.Position < src.Size do
begin
cnt := src.Read(buf^, SizeOf(buf));
sServ.Socket.Connections[0].SendBuf(buf^, cnt);
end;
Dispose(buf);
buf := nil;
src.Free;

Это прием клиентом:
if not Receive then Count := StrToInt(Socket.ReceiveText);
cnt := Socket.ReceiveLength;
if not Receive then
begin
AssignFile(f,"123");
Rewrite(f);
Receive := true;
end;
GetMem(buf,cnt+1);
Socket.ReceiveBuf(buf^,cnt);
BlockWrite(f,buf^,cnt);
CountRead := CountRead + cnt;
if CountRead = Count then
begin
CountRead := 0;
Count := 0;
Receive := false;
FreeMem(buf);
CloseFile(f);
sClnt.Socket.SendText("Received");
end;
Помимо файла источника в файл назначения пишется что-то, что не должно туда писаться.


← →
{bas} ©   (2002-12-19 18:28) [6]

а кто б. обнулять buf в цикле отпраки?????



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
14-99295
3D-Dragon
2002-12-09 16:20
2002.12.30
Как зарегистрироваться на этом форуме ?


3-99022
Какрелин Артем
2002-12-11 10:17
2002.12.30
select count(*) при 6 лимонах записей??


1-99043
Balkon
2002-12-19 11:01
2002.12.30
...??????-так выглядит весь текст приложения!


1-99123
tv
2002-12-17 15:47
2002.12.30
Работа с Excel ом.


1-99058
Rooman
2002-12-18 14:36
2002.12.30
Как разгрузить процессор? sleep(0) не разгружает...




   Наверх