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

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

Подскажите пожалуйста... [D5, Win2k]


Василий Свиридов ©   (2002-01-31 05:28:00) 

... компонент для работы с сокетами (TCP/UDP), только чтобы он не тянул за собой пол-VCL. А то нужно маленький сервер написать и не хочется чтобы его минимальный размер начинался с 300-400 кб.


SerB   (2002-02-05 08:06:00) [1]

Попробуйте KOL


Digitman   (2002-02-04 16:35:00) [2]

>vuk
Верно. Упустил сей момент)


vuk   (2002-02-04 15:49:00) [3]

to Digitman:
>Forms нужен в этом модуле ТОЛЬКО ЛИШЬ ДЛЯ ОБРАБОТКИ ИСКЛЮЧЕНИЙ
>на уровне объекта Application !!!!! И ни для чего более !
Не только для этого. Дело в том, что компоненты из ScktComp работают по асинхронной модели WinSocket. Вся нотификация о происходящем в сокете получается через оконные сообщения.

Для облегчения обработки сообщений в TCustomWinSocket используется механизм создания скрытого окна и связывания его с экземпляром объекта при помощи функции AllocateHWnd из модуля Forms. Подробности - TCustomWinSocket.GetHandle


drpass   (2002-02-04 12:08:00) [4]

Ребята, вот эта прога, я сейчас ее пишу в D6, так вот она занимает 144К со всеми этими модулями... и прекрасно работает. Так что вполне реально уложиться в небольшой файл
uses
Windows,
Messages,
SysUtils,
ScktComp,
Classes,
PSAPI,
TlHelp32;


Digitman   (2002-02-04 09:13:00) [5]

Приношу извинения. На самом деле, "пустая" консоль в Д5 "весит" 41кб (uses SysUtils) и 16кб (без оного).
ScktComp действительно "тянет" за собой Forms. Чушь конечно, но - факт : Forms нужен в этом модуле ТОЛЬКО ЛИШЬ ДЛЯ ОБРАБОТКИ ИСКЛЮЧЕНИЙ на уровне объекта Application !!!!! И ни для чего более !


Иван Шихалев   (2002-02-02 19:20:00) [6]

to Digitman

> "пустая" консоль в Д5 "весит" 48кб. Проверь сам.
> Это - system + sysinit


А насколько я помню ~16K


vuk   (2002-02-01 20:08:00) [7]

to DigitMan:
ScktComp тянет за собой Forms, а он, в свою очередь, тянет дополнительно еще очень много чего (около 20 модулей). Вот как раз и получаются почти те самые "пол-VCL" и именно из-за него получается такой размер.

То есть

program Project1;
{$APPTYPE CONSOLE}
uses SysUtils, scktcomp;

begin
end.


весит около 300 КБ если включен модуль ScktComp и только 41 КБ (видимо у Вас получилось 48 в связи с другими ключами компиляции)если используется только SysUtils.
Что же касается того, что можно использовать для работы с сокетами, то я могу порекомендовать (да и сам использую) Indy.


Digitman   (2002-02-01 15:38:00) [8]

>Velocity
"пустая" консоль в Д5 "весит" 48кб. Проверь сам. Это - system + sysinit


Василий Свиридов   (2002-01-31 23:55:00) [9]

Спасибо всем.


Velocity   (2002-01-31 11:32:00) [10]

>Digitman
Намного меньше чем в 100. Натурально, с наворотами и обработкой ошибок (ну не всех конечно, самых дрянных) - около 30 килов. Разумеется в юзесах только Windows и Winsock.


NailS   (2002-01-31 11:09:00) [11]

Есть неплохие компоненты ICS

http://overbyte.alexid.fr/frame_index.html

Что-бы не использовался Forms компилишь с директивой NO_FORMS
(хотя могу ошибаться, это подробно описано в заголовке модуля WSocket.pas)


Digitman   (2002-01-31 10:21:00) [12]

Использование класса TComponent (ты ж о компонентах-таки речь ведешь ?) "потянет" на ~150кб (модуль Classes). Без Classes эта "халява" никак не обойдется.

TServerSocket и иже с ним "потянут" еще на на ~50кб (модуль ScktComp). Итого "халява от Борланда" под названием TServerSocket "утяжеляет" объектный код до ~300кб ("по-крупному" туда еще войдут System, SysInit, SysUtils, SyncObjs)

"Нарисовать" все это в усеченном варианте на API обойдется тебе, думаю, где-то в ~100 кб даже при использовании консоли. Разница, конечно, есть, но - стоит ли "овчинка выделки" ?


Наверх

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