![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при закрытии сокета
atruhin © (2004-06-21 13:35:00)В довольно большом проекте, при некорректном отключении клиента иногда появляется ошибка.
Причем в Win2003server - "Привелегированная инструкция",
а в W2K и XP - "Access violation ..." или "External exception"
За неделю трудов :) удалось выяснить:
1. Ошибка появляется когда клиент завершает работу не закрыв сокет. Т.е. не выполнив
shutdown, closesocket, как я понимаю сокет закрывает операционная система при завершении
процесса клиента.
2. Ошибка возникает только если в uses подключен модуль MyModule, но вот тут и непонятно т.к. раздела инициализации у модуля нет, ни одной функции из него я не использую (имеется ввиду в тесте), т.е. включаю в uses - есть ошибка, убираю - нет.
В MyModule используются следующие подключения:
uses Classes, Windows, DB, SysUtils, variants, StringConv;
uses ActiveX, Math;
Если просто переношу их в тест ошибки нет.
ВОПРОС: как может влиять неиспользуемый модуль на программу?
Какие в нем могут быть ошибки?
Подскажите хоть что нибудь, а то у меня идеи закончились.
atruhin (2004-06-21 15:38:00) [1]Дак я неделю анализировал. включаю в uses модуль - есть ошибка, убираю - нет, в модуле инициализации нет. а трафика там 80 кил. вложение в письмо.
Digitman (2004-06-21 15:35:00) [2]
> atruhin © (21.06.04 15:32) [4]
нашута мне твой ящик нужен ? траффик*-то - не резиновый
анализируй "узкие" участки своего кода и приводи СЮДА фрагменты, вызывающие у тебя сомнения
atruhin (2004-06-21 15:32:00) [3]Исходники выложил в ящик
test12344321@mail.ru
пароль 12344321
Как мог убрал все лишнее но много осталось.
Digitman (2004-06-21 14:49:00) [4]
> И в программе он естественно еще как используется.
вот и показывай, как используется
телепатов здесь нет
atruhin (2004-06-21 14:47:00) [5]Нет MyModule условно это большой модуль потомок TDataset доступа к SQLite.dll. И в программе он естественно еще как используется. Я написал (имеется ввиду в тесте)т.е. я сделал тест 1 форма 1 TServerSocket 1 TMemo. И все. А дальше по тексту 2. Ошибка возникает только
Digitman (2004-06-21 13:53:00) [6]что такого выдающегося творится в MyModule.pas, коль скоро он явно никак не используется тобой, но так сильно заботит в плане сабжа ?