imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 10.10.2005, 15:25     # 1
PLP
Junior Member
 
Регистрация: 16.07.2002
Сообщения: 113

PLP Путь к славе только начался
Question Вопрос по WinXP - Delphi+Access+Excel?

Приветствую.

Пишу программу на Delphi + Access (не сам Access, а Jet и MDAC) - небольшая база (не сетевая даже - 1 рабочее место) + отчеты на бумаге и экспорт в Excel. Столкнулся со странной проблемой. На моей рабочей машине все отлично работает. На машине заказчика P3, Win98, Office2000 - помедленнее, но тоже хорошо. Купили под эту задачку новый компьютер P4 3kMHz, 1024Mb, WinXPSP2, Office2003, антивирусов нет(короче сильная овая машина) - запускаюсь я на ней и вот те зсдрасте:
1. Открытие программы происходит с непонятной задержкой в 2 сек.
2. Открытие всех формочек (даже элементарных справочников с порядка 10 записями) с задержкой до 10 сек.
3. Экспорт в Excel меня совсем убил - в десятки раз дольше чем на (P3, Win98, Office2000).

Причем такое ощущение, что сами операции (например открытие формы, отчета) происходят быстро (кроме экспорта), но перед ними машина просто делает паузу. Диспетчер задач при этом не показывает никакой нагрузки.

Делал эксперименты, переставил офис на 2000 - все то же самое. Потом заметил, что значек подключения по локальной сети при работе с программой все время горит - т.е. идет трафик. Интернета там нет, просто несколько машин в сети. Эксперименты показали - если запускать программку при Отключенной сети, то все работает без задержек даже если сеть после запуск программы включить. Если запускать при включенной сети, то все тормозит.

Подскажите, как пониммать происходящее? Что предпринять?
Спасибо!
PLP вне форума  
Старый 10.10.2005, 16:11     # 2
dyr_farot
Advanced Member
 
Регистрация: 23.08.2003
Сообщения: 442

dyr_farot Нимб уже пробиваетсяdyr_farot Нимб уже пробивается
ConnectionString покажи... + неплохо бы файр-волом глянуть куда он лезет...
( никогда такого прикола не видел... )
dyr_farot вне форума  
Старый 10.10.2005, 16:19     # 3
PLP
Junior Member
 
Регистрация: 16.07.2002
Сообщения: 113

PLP Путь к славе только начался
sys_ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0; Data Source=' + ExtractFilePath(Application.ExeName) + 'db\' + DataBaseFile + ';Persist Security Info=False';

Люди говорят, что может быть Office2003 виноват - он пытается достать какие-то компоненты в интернете, не находит и работает своими местными силами. Но 2003 я заменил на 2000 и ничего не поменялось. Ума не приложу - что делать?
PLP вне форума  
Старый 11.10.2005, 11:13     # 4
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
да это OLE - тормозит по страшному... надо в настройках коннектора копаться и в настройках системы...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 11.10.2005, 12:34     # 5
PLP
Junior Member
 
Регистрация: 16.07.2002
Сообщения: 113

PLP Путь к славе только начался
Цитата:
Сообщение от /7y3uK
да это OLE - тормозит по страшному... надо в настройках коннектора копаться и в настройках системы...
Так непонятно почему тормозит. И почему на старой машине не тормозит? И почему у меня на рабочей не тормозит? И на что влияет отключение сети?
PLP вне форума  
Старый 12.10.2005, 13:00     # 6
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Без поллитры не разберешься... OLE контейнер - штука не предсказуемая... производительность может изменяться даже от очередного обновления винды... Вопрос на засыпку, а какой дата соурс используется? У меня с джетовским драйвером только ADO нормально работает...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 12.10.2005, 15:36     # 7
PLP
Junior Member
 
Регистрация: 16.07.2002
Сообщения: 113

PLP Путь к славе только начался
Цитата:
/7y3uK:
У меня с джетовским драйвером только ADO нормально работает...
TADOConnection -> TADOQuery ...

Ну не ставить же 98ю и 97 офис.
Не дайте пропасть человеку
PLP вне форума  
Старый 12.10.2005, 23:24     # 8
PLP
Junior Member
 
Регистрация: 16.07.2002
Сообщения: 113

PLP Путь к славе только начался
Цитата:
/7y3uK:
OLE контейнер - штука не предсказуемая... производительность может изменяться даже от очередного обновления винды...
Еще разок. Экспериментально установлено, что при запуске
программы на компьютере (P4 3GHz, 1024Mb, WinXPSP2, Office2003) при
включенной локальной сети (доступа в интернет нет) при выполнении
программой операций (например открытия форм, отчетов) возникает
задержка до 10 сек. При запуске программы с предварительно
отключенной лок. сетью подобных задержек не возникает, все выполняется
мгновенно. Очевидно кто-то запрашивает что-то по сети перед
выполнением каждой операции с БД - что это может быть и как это
выключить?

Т.е. сами механизмы доступа к данным работают быстро - это видно при отключении сети - все происходит мгновенно. Вопрос в том - на что влияет включенная сеть и кто (и зачем) начинает по ней гулять (и самое главное - как ему запретить)?
PLP вне форума  
Старый 13.10.2005, 20:15     # 9
PLP
Junior Member
 
Регистрация: 16.07.2002
Сообщения: 113

PLP Путь к славе только начался
Делюсь опытом.
Итак мы остановились на том, что был обнаружен трафик по сети во время задержек в работе программы. Я вооружился сниффером, который показал исходящий трафик на один из компьютеров под Win98 (назовем его Х) локальной сети по 139 (NetBIOS) и 445 (MS DS - не знаю, что такое) портам. Выключаю компьютер Х - программка летает даже при включенной сети. На этом Х установлен принтер, который используют все остальные компьютеры, в том числе и тот, на котором работает моя программа. Включаю Х, удаляю принтер - все летает. Подключаю принтер обратно - работает медленно. Значит дело в нем.

Какая связь между программой на одном компьютере и принтером (общим для всех компьютеров) на другом компьютере? Задержки не только при печати отчетов, н ои при открытии справочников, форм и т.п.???
PLP вне форума  
Старый 14.10.2005, 10:46     # 10
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Хм... поддержка принтера в твоем софте естественно еть А ты попробуй ее закоментить и посмотри что получится...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 14.10.2005, 23:53     # 11
KapMaH
Newbie
 
Аватар для KapMaH
 
Регистрация: 29.03.2003
Сообщения: 22

KapMaH Путь к славе только начался
1. Попробуй Firewall-ом "запереть" по очереди порт 139 (NetBIOS) и 445.
2. Проверь стоит ли в твоём принтере галка в том месте, где написанно, что его используют ДОС-Программы, если не нужна - нафих её вообще!
KapMaH вне форума  
Старый 15.10.2005, 01:18     # 12
Andrewpg
Junior Member
 
Регистрация: 09.09.2004
Сообщения: 179

Andrewpg Известность не заставит себя ждать
А принтер часом не Canon? И дрова принтера на стандартные поменять?
Andrewpg вне форума  
Старый 16.10.2005, 13:16     # 13
PLP
Junior Member
 
Регистрация: 16.07.2002
Сообщения: 113

PLP Путь к славе только начался
Цитата:
Andrewpg:
А принтер часом не Canon? И дрова принтера на стандартные поменять?
Точно Canon лазерный. Так вроде и так стандартные стоят.
PLP вне форума  
Старый 18.11.2005, 01:43     # 14
PLP
Junior Member
 
Регистрация: 16.07.2002
Сообщения: 113

PLP Путь к славе только начался
Smile

Делюсь опытом дальше.

Проблема решена (огромное спасибо Вадиму Суслину) следующим образом.

Напомню, есть машина под ХР - на ней моя программа, и эта программа печатает по сети на принтере (Canon LBP1120), установленном на машине под вин98.

1. Поставили принтер на ХР машине как локальный на LPT1 порт (самого принтера там конечно нет).
2. Написали батник с 2 строчками: первая стирает все настройки net use; вторая - перенаправляет обращения с порта LPT1 на IP 98 машины в сети.
3. Виндовый шедулер во время старта ХР машины и далее с некоторой периодичностью (на случай, если 98 машина была выключена в момент включения ХР-шной) выполняет этот бат.

Результат - все работает, задержки при работе программы полностью отсутствуют .

Вопрос - заработать-то заработало, но я так и не понял, что вызывало задержки в программе (до 25сек) при открытии форм и трафик по сети? Как это можно объяснить?
PLP вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 16:17.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.