Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2002.12.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.034 c
1-99049
Лана Розанова
2002-12-19 11:38
2002.12.30
Ole объекты


3-98985
roman_new
2002-12-10 10:32
2002.12.30
от разных пользователей дата записывается в разных форматах


14-99276
Uncle Archi
2002-12-06 21:20
2002.12.30
Проблема с языком.


1-99143
Palladin
2002-12-16 22:00
2002.12.30
Подскажите. Как с BlockWrite использовать с динамическим массивом


14-99317
Дмитрий К.К.
2002-12-10 11:16
2002.12.30
Кто работал с эмулятором UnrealSpeccy





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский