![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
народ, оцените код [D5, D7, Win2k, WinXP]
Dust © (2005-08-01 13:58:00)писалось для склеивания пакетов пришедших из сети,
а так же для их сборки перед отправкой
http://nostdal.org/paste/327e65c87affb7475eb3e3215c543b05.html
Defunct (2005-08-02 14:54:00) [21]Dust © (02.08.05 14:03) [3]
> кстати, нормальный хост...
Днем доступен, ночью - нет ;>
destroy;override; поставьте.
class function imho лишняя, почему бы просто не описать второй конструктор. (и нужен ли он?)
функции
function FUnreadSize() : dword;
function FContainerSize() : dword;
function FDataPresent() : boolean;
должны быть в private, иначе нет смысла создавать property для каждой из них
flatlist imho вообще ненужная запись, можно просто все ее поля включить в private секцию.
> procedure PushRaw(const packet: pointer; const count : dword);
Делают обычно так:
procedure PushRaw(var Buf; const count : dword);
для чтения
procedure PopRaw(var Buf; var count : dword);
По офромлению кода:
код трудно читаем, например здесь
if (Flatlist.shiftL + count)<=(Flatlist.shiftR) then begin
p:=Pointer(dword(Flatlist.pFlat)+Flatlist.shiftL);
CopyMemory(packet, p, count);
flatlist.isDataPresent :=true;
if not KeepMarker then Flatlist.shiftL:=Flatlist.shiftL+count; end;
не видно к чему относится end, и не ясно из названия полей на что указывает p. В выделенной строчке непонятно зачем нужны поля shiftL и shiftR;
в общем, я бы весь класс переписал..
Dust (2005-08-02 14:03:00) [22]я убрал несколько ошибок
кстати, нормальный хост...
http://nostdal.org/paste/5192e561ff56c3a9ce5900bced3b5b3a.html
Defunct (2005-08-02 02:09:00) [23]pinging nostdal.org [193.246.214.118] with 32 bytes of data:
request timed out.
request timed out.
request timed out.
request timed out.
Ресурс вы выбрали неудачный..
Ega23 (2005-08-01 14:02:00) [24]А зачем конструктор нужен? Я не понял...