Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

Демо сканирования сети, нужна помощь с тестированием...   Найти похожие ветки 

 
Rouse_ ©   (2004-10-13 20:29) [0]

Если кому не трудно, протестируйте пожалуйста программку...
http://rouse.front.ru/1.rar (качалками не качается, придется через браузер). 18 Кб.
Там исходники.
Программа сканирует сеть на наличие ресурсов (NetShareEnum) создавая поток на каждый адрес из диапазона адресов (необходима ОС из линейки NT) ...

Мне не понравилось как она повела себя на рабочем компьютере, а именно времени на создание потоков (255) было затрачено около 8 секунд...
Ерунда какаято...
На домашнем все в ажуре работает...

Особенно интересны результаты тестирования в доменной сети...

Зарание спасибо...


 
DVM ©   (2004-10-13 20:59) [1]

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


 
Rouse_ ©   (2004-10-13 21:03) [2]

Интересует временный промежуток с нажатия кнопки до начала появления полоски в прогресбаре...

Диапазон (так как демо) по умолчанию должен различаться только последним байтом. т.е. первые 3 байта должны быть одинаковы...
к примеру
1.2.3.Х
и
1.2.3.Y


 
Rouse_ ©   (2004-10-13 21:06) [3]

А, ну и естьественно, различаться по возрастающей ;)


 
DVM ©   (2004-10-13 21:09) [4]


> Интересует временный промежуток с нажатия кнопки до начала
> появления полоски в прогресбаре...

от 0 до 1 сек. Очень быстро.
Все сканирование на 50 машин заняло секунд 15-20.


 
Adder ©   (2004-10-13 21:09) [5]

Интересует временный промежуток с нажатия кнопки до начала появления полоски в прогресбаре...
Практически сразу (меньше секунды). В домене.


 
Rouse_ ©   (2004-10-13 21:21) [6]

Странно, очень странно, я думал что что-то не так, но тогда объясните мне плз, в чем может быть проблема в следующем коде: ?

   for I := AFrom to ATo do
     with TScanThread.Create(False) do
     begin
       IP := inet_addr(PChar(Prefix + IntToStr(I)));
       FreeOnTerminate := True;
       Resume;
     end;


Я сегодня замерял через GetTickTime диапазон запуска потока (при данных по умолчанию) распределяется примерно так:
первые 5 потоков одновременно
вторые 6 - 7 через 15-20 м.сек
остальные с промежутком в 10-150 мсек...

Очень странно...
Просто это одна из последних заготовок к статье и не хотелось бы делать ошибки...


 
Rouse_ ©   (2004-10-13 21:22) [7]

Замерял в смысле на проблемной машине, где все сканирование начинается через сек 8 - 10 после нажатия кнопки...


 
jack128 ©   (2004-10-13 21:23) [8]

у меня бобик сдох. Завис вчистую. Надеюсь, то что я закоментировал

procedure TScanThread.Execute;
begin
//  inherited;
 Synchronize(IncCount);
 Scan;
 Synchronize(DecCount);
end; не очень повлияло на результат? ;-)


 
Jel ©   (2004-10-13 21:24) [9]

Сканирование начинает практически сразу. Без домена. Нашла только мой компьютер. Остальные не увидела. В сетевом окружении остальные видны.


 
jack128 ©   (2004-10-13 21:24) [10]

Rouse_ ©   (13.10.04 21:21) [6]
в этом коде проблемы точно нет. он сам по себе выполняется на 60мсек.


 
Rouse_ ©   (2004-10-13 21:29) [11]

> [9] Jel ©   (13.10.04 21:24)
Подсети отсутствуют? По идее должна была найти (если адреса компьютеров попадают в веденный диапазон) ...

> [8] jack128 ©   (13.10.04 21:23)
За что код поганишь, вертай как было...
Зависнуть не должно, видимол ты просто не дождался результатов отработки всех потоков


 
Rouse_ ©   (2004-10-13 21:33) [12]

Вот кстати, мне тут подсказали...
Если кто в домене, нельзя ли проверить следующую ситуацию...
Не осуществлять вход в домен а осуществить вход на локальный компьютер и запустить эту программу, я именно в таком варианте тестировал...
(Если, конечно, не сильно затруднит, потому что судя по отзывам в асе, в одноранговой сетке вообще проблем нет...)


 
Jel ©   (2004-10-13 21:36) [13]


> Rouse_ ©   (13.10.04 21:29) [11]

Одна сеть с маской 240. Занят весь диапазон адресов. Нашел только меня. Файрвол на время запуска отключал.


 
Rouse_ ©   (2004-10-13 21:37) [14]

> Одна сеть с маской 240.
255.255.255.240?
Это конечно не мое дело, но зачем такая маска?


 
Rouse_ ©   (2004-10-13 21:39) [15]

> 13] Jel ©   (13.10.04 21:36)
Кстати, сенькс за подсказку, надо бы и маску учитывать...


 
Verg ©   (2004-10-13 21:42) [16]


> 255.255.255.240?
> Это конечно не мое дело, но зачем такая маска?


А в чем проблема? Маска - как маска. Подсеть из 14 хостов. А что?


 
Rouse_ ©   (2004-10-13 21:44) [17]

> [16] Verg ©   (13.10.04 21:42)
Да ничего, конечно, странно просто видеть такую маску в одноранговой сети...


 
jack128 ©   (2004-10-13 21:54) [18]

Rouse_ ©   (13.10.04 21:29) [11]
За что код поганишь, вертай как было... Ну-ну. Тогда я точно нечего не дождусь. ;-) Потоку будут рубиться на ображении к абстрактному методу TThread.Execute.  Еще я подправил if Addr = Integer(INADDR_NONE) then Exit; без преобразования дельфя говорит, что условие всегда даст False. А программа таки виснет(пара минут - я считаю это виснет, особенно учитывая, что используются потоки). Почему - не знаю, но факт на экране..


 
Jel ©   (2004-10-13 21:57) [19]


> Rouse_ ©   (13.10.04 21:37) [14]

Этот диапазон выделен "свыше" :) А за циской растет довольно крупная WAN.


 
Verg ©   (2004-10-13 21:58) [20]

Погоди, но у тебя п.б. начнет двигатся с места только когда потоки начнут завершаться? т.е. если они по каким-либо причинам надолго "повисают" в сканировании, то все это время п.б. будет молчать. Так?


 
Rouse_ ©   (2004-10-13 22:00) [21]

> [18] jack128 ©   (13.10.04 21:54)
Ок, у тебя какая версия Дельфи?
Просто знакомо
> без преобразования дельфя говорит, что условие всегда даст False


 
Verg ©   (2004-10-13 22:01) [22]


> [17] Rouse_ ©   (13.10.04 21:44)
> > [16] Verg ©   (13.10.04 21:42)
> Да ничего, конечно, странно просто видеть такую маску в
> одноранговой сети...


Ничего странного не вижу. Даже наоборот. Ну вот столько выделено на маршрутизаторе в этот сегмент. Ничего особенного - ситуация обныкновеннейшая.


 
Rouse_ ©   (2004-10-13 22:03) [23]

> [20] Verg ©   (13.10.04 21:58)
Тут ключевое "когда потоки начнут завершаться"
Да именно так, проблема в том что у меня на проблемной машине первый поток начинает отрабатывать только после того как создан и запущен самый последний, а на запуск всех потоков уходит около 8 секунд при этом приложение конкретно виснет...
На домашеней машине все работает как и задумано...


 
Rouse_ ©   (2004-10-13 22:04) [24]

> Ничего особенного - ситуация обныкновеннейшая
Даже не спорю, просто не имел дел (и в практике ее не наблюдал) с одноранговой с несколькими сегментами...


 
jack128 ©   (2004-10-13 22:05) [25]

Rouse_ ©   (13.10.04 22:00) [21]
Д5. За 10 минут прога так и не отвисла...К черту её.


 
Rouse_ ©   (2004-10-13 22:08) [26]

> [25] jack128 ©   (13.10.04 22:05)
Стукни завтра в асю плз...

> [20] Verg ©   (13.10.04 21:58)
Поправлюсь, ПБ начинает двигаться с момента завершения любого из потоков...


 
Verg ©   (2004-10-13 22:10) [27]


> [23] Rouse_ ©   (13.10.04 22:03)
> > [20] Verg ©   (13.10.04 21:58)
> Тут ключевое "когда потоки начнут завершаться"
> Да именно так, проблема в том что у меня на проблемной машине
> первый поток начинает отрабатывать только после того как
> создан и запущен самый последний, а на запуск всех потоков
> уходит около 8 секунд при этом приложение конкретно виснет...
> На домашеней машине все работает как и задумано...


А как задумано-то? Если каждый поток подолгу висит по причинам - ну, например,
1. нет у меня такой подсети вообще (192.168....)
2. выключен NBT (NetBIOS Over TCP/IP)
3. NetBEUI вообще отсутствует как класс


 
panov ©   (2004-10-13 22:10) [28]

>Rouse_ ©

Смотря как настроена маршрутизация.
В зависимости от настроек сети сканирование может идти и по 15 минут...


 
Rouse_ ©   (2004-10-13 22:14) [29]

> А как задумано-то?
Да задумка простейшая...
Берем диапазон IP и на каждый запускаем поток который должен:
1. Увеличить счетчик потоков через Synhronize
2. Из IP получить имя машины
3. Выполнить NetShareEnum на указанное имя
3. через Synhronize вывести результат
4. через Synhronize уменьшить счетчик потоков

прогресс начинает двигаться при уменьшении счетчика потоков...


 
Rouse_ ©   (2004-10-13 22:16) [30]

> [27] Verg ©   (13.10.04 22:10)
Да, по всем этим причинав сканирование вообще не выполнится, но выполняется ж зараза (только иногда медлено ;)


 
Verg ©   (2004-10-13 22:31) [31]


> > [27] Verg ©   (13.10.04 22:10)
> Да, по всем этим причинав сканирование вообще не выполнится,
> но выполняется ж зараза (только иногда медлен


И вот еще: DNS сервер настроен и настроен правильно на DNS провайдера, находящегося, правда, за 5 хопов от моего компа.

function TScanThread.GetCompName(const Addr: Integer): String;

Будет тормрозить обязательно! - раз идет WsaSTARTUP/Clenaup(это на каждый вызов процедуры) и синхронные запросы к DNS про адрес, которые тот и знать ничего не знает.
По сути ты эти 8 секунд наблюдаешь - это сетевое ядро долбится к DNS-у, а тот либо "далеко", либо канал до него узкий, либо он не работает.

Так я не понял - в чем проблема, тогда. В том, что медленно или, что вообще не выполняется?


 
Rouse_ ©   (2004-10-13 22:32) [32]

> В зависимости от настроек сети сканирование может идти и
> по 15 минут...

Ужас, Сань вы это там что, над Юзерами прикалываетесь чтоль, чисто по админски (с такими настройками)? ;))


 
Rouse_ ©   (2004-10-13 22:35) [33]

> Будет тормрозить обязательно
Согласен, но это обычные тормоза и они абсолютно нормально укладываются в примерно 15-100 мсек (в течение работы всей программы в сумме)...
А проблема именно в том, что вот этот код:

  for I := AFrom to ATo do
    with TScanThread.Create(False) do
    begin
      IP := inet_addr(PChar(Prefix + IntToStr(I)));
      FreeOnTerminate := True;
      Resume;
    end;

на моей машине рабочей (не домашней) обрабатывает 8 секунд...
в то время как на домашней не более 15 мсек...

Вот и пытаюсь найти проблему...


 
Torry ©   (2004-10-13 22:36) [34]

To Rouse_

Надо реально помочь? Подсказками мало можно, давай тебе наш PSSDK подгоню... Надо: Имя, фамилию, компанию, e-mail на кого регистрировать.


 
Rouse_ ©   (2004-10-13 22:37) [35]

Заметь - это код выполняющийся в основном потоке. Т.е. он тормозить вообще не должен, запустил потоки и ждет...


 
Rouse_ ©   (2004-10-13 22:38) [36]

> [34] Torry ©   (13.10.04 22:36)
Спасибо Максим, завтра свяжусь :)


 
Verg ©   (2004-10-13 22:43) [37]


> Согласен, но это обычные тормоза и они абсолютно нормально
> укладываются в примерно 15-100 мсек


Ты не понял - если про этот адрес DNS ничего не знает, то разрешение его имени ядро будет добиваться у DNS-а секунды.
Попробуй tracert на заранее "безымянный" комп по его Ip-шнику: секунды 4 пытается добиться его имени...


>  for I := AFrom to ATo do
>     with TScanThread.Create(False) do
>     begin
>       IP := inet_addr(PChar(Prefix + IntToStr(I)));
>       FreeOnTerminate := True;
>       Resume;
>     end;
>
> на моей машине рабочей (не домашней) обрабатывает 8 секунд...
> в то время как на домашней не более 15 мсек...


Так что же, ты CreateSuspended = false создаешь, а потом полям этого j,]trnf-потока чт-то начинаешь присваивать (тот-то уже "помчался", уже в полете, так сказать), да еще и Resume ему - кнтрольный выстрел что ли? :))))


 
Verg ©   (2004-10-13 22:58) [38]

Всякие ProcessMessages надо тоже убрать, на мой взнляд - они тоже тормозят (держат synchronize у потоков) при том совершенно бесполезны.


 
jack128 ©   (2004-10-14 01:52) [39]

Если внемлишь советам Verg"a то все заработает. Проверено мной(с) :-)


 
Vlad Oshin ©   (2004-10-14 09:08) [40]

сеть с доменом (2 домена, блин.. )
нашла 31 машинку, ну утро еще, пока чаи гоняют, видать

Сканирует рывками. Сразу находит 30% (1-2 сек), потом еще 30-40%(2-3 сек), и окончательно еще ~2 сек


 
Rouse_ ©   (2004-10-14 09:27) [41]

Тэкс, вот про CreateSuspended = false это да, это я маху дал :))
Показываю текущую проблему:

type
 TTestThread = class(TThread)
 protected
   procedure Execute; override;
 end;

 TForm1 = class(TForm)
   Button1: TButton;
   Memo1: TMemo;
   procedure Button1Click(Sender: TObject);
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 I: Integer;
 Start: Cardinal;
 S: TStringList;
begin
 S := TStringList.Create;
 try
   Start := GetTickCount;
   for I := 1 to 255 do
     with TTestThread.Create(True) do
     begin
       S.Add(IntToStr(I) + ":" + IntToStr(GetTickCount - Start));
       FreeOnTerminate := True;
       Resume;
     end;
 finally
   Memo1.Text := S.Text;
   S.Free;
 end;
end;

{ TTestThread }

procedure TTestThread.Execute;
begin
//  inherited;

end;


Здесь как видно создаются пустые 255 потоков и засекается время между их созданием...

На одной машине этот код пробегает за 15мсек
а на моей рабочей примерно вот такие данные:
1:16
...
100:672
...
255:1532


Первое число - номер создаваемого потока, второе - время прошедшее с момента старта процедуры...

Вот именно чего я никак не могу понять, отчего такие тормоза :)


 
panov ©   (2004-10-14 10:09) [42]

>Rouse_ ©   (14.10.04 09:27) [41]

А какая ОС?


 
Rouse_ ©   (2004-10-14 10:21) [43]

XP SP2 со всеми обновлениями
D7 SP1


 
panov ©   (2004-10-14 10:33) [44]

>Rouse_ ©   (14.10.04 10:21) [43]

мда...

На w2000prof у меня тратится 78мс на весь этот цикл...


 
Rouse_ ©   (2004-10-14 10:34) [45]

Во-во, я о чем и говорю, чудеса блин термоядерной рекуперации :((


 
panov ©   (2004-10-14 10:38) [46]

>Rouse_ ©   (14.10.04 10:34) [45]

т.е. на одной ОС, но на разных ПК картина отличается?


 
Rouse_ ©   (2004-10-14 10:41) [47]

Да, дома стоит тоже самое только Дельфи не пропатченное...
Запустил на второй рабочей машине с ХР SP1, D7 SP1 - тоже скорость низкая, полный цикл за 600-700 Мсек пробегает...

Компьютеры Р4-3.200


 
panov ©   (2004-10-14 11:01) [48]

>Rouse_ ©   (14.10.04 10:41) [47]

А попробуй CreateThread в цикле вызвать, т.е. создать потоки без использования VCL.


 
Rouse_ ©   (2004-10-14 11:07) [49]

Гы, ты не поверишь, тоже самое, один в один... :((


 
panov ©   (2004-10-14 11:28) [50]

>Rouse_ ©   (14.10.04 11:07) [49]
А если в консольном приложении?

program Project1;

{$APPTYPE CONSOLE}

uses
 classes,windows,SysUtils;

type
 TTest=class(TThread)
 protected
   procedure Execute;override;
 end;

procedure TTest.Execute;
begin
end;

var
 i: Integer;
 Start: Cardinal;

begin
 Start := GetTickCount;
 for i := 0 to 255 do
 begin
   with TTest.Create(True) do
   begin
     FreeOnTerminate := True;
     Resume;
     WriteLn(IntToStr(I) + ":" + IntToStr(GetTickCount - Start));
   end;
 end;
 ReadLn;
end.


И еще проверь, от Delphi зависит или нет - вот в D6 откомпилировано:
ftp://ftp.spb.gkbank.ru/download/Test/Project1.exe


 
Rouse_ ©   (2004-10-14 12:23) [51]

Консоль аналогично, сейчас солью, проверю...


 
Rouse_ ©   (2004-10-14 12:33) [52]

> [50] panov ©   (14.10.04 11:28)
Твой ЕХЕ влет отработал :(


 
panov ©   (2004-10-14 13:05) [53]

>Rouse_ ©   (14.10.04 12:33) [52]

По рассказам мастеров в D7 реализация потоков отличается от D6, а в D6 от более низких версий(у меня D7 нет).


 
Verg ©   (2004-10-15 00:25) [54]


>  Rouse_ ©   (14.10.04 09:27)


Да, ну допустим, измерение времени в данном случае нельзя назвать чистым - там ко времени подмешиваютя.

> S.Add(IntToStr(I) + ":" + IntToStr(GetTickCount - Start));


Операции IntToStr, строковое объединие ( 2 раза ) и операция Add в TStringList. В среднем - 6 мс на итерацию цикла. Сказать, что много? - а фиг его знает

А если так, то что напишет?

procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
Start: Cardinal;
S: TStringList;
begin
S := TStringList.Create;
try
  Start := GetTickCount;
  for I := 1 to 255 do
    with TTestThread.Create(True) do
    begin
      FreeOnTerminate := True;
      Resume;
    end;
  S.Add(IntToStr(GetTickCount - Start));
finally
  Memo1.Text := S.Text;
  S.Free;
end;
end;


 
Erik1 ©   (2004-10-15 10:51) [55]

А почему бы ненаписать
TTestThread.Create(Prefix + IntToStr(I));
А в конструкторе
Create(Value: String);
IP := inet_addr(PChar(Value));
FreeOnTerminate := True;
inherited Create(False);
Попробуй может поможет, а еще лучше скомпилировать все под D5. А спотрел реализацию TThread под D6 мне очень непонравилось.


 
Rouse_ ©   (2004-10-15 10:55) [56]

> [54] Verg ©   (15.10.04 00:25)
Так пишет общее время в районе 1300Мсек

Да тут что-то по всей видимости с Дельфи, потомучто уж если деже через CreateThread тормозит, то я теряюсь...

Вот пример Панова который он у себя собрал - отработал как нужно. т.е. быстро, но этот же код собранный у меня - медленно...

В чем может быть проблема, даже ума не приложу...

> [55] Erik1 ©   (15.10.04 10:51)
Пробовал такой вариант, тоже самое...


 
panov ©   (2004-10-15 12:36) [57]

>Rouse_ ©   (15.10.04 10:55) [56]

Моарль - D6 лучше, чем D7, а D5 лучше, чем D6.
А всех лучше - D3. (это так - самохоливарчик)


 
Rouse_ ©   (2004-10-15 12:58) [58]

> [57] panov ©   (15.10.04 12:36)
А паскаль всему голова ;)


 
Aldor ©   (2004-10-22 15:56) [59]

Позволю себе поднять ветку:
как версия компилятора может влиять на скорость вызова CreateThread??!


 
Anatoly Podgoretsky ©   (2004-10-22 16:16) [60]

panov ©   (15.10.04 12:36) [57]
Никакого холивара, так и есть, единственно возможности разные.


 
Rouse_ ©   (2004-10-22 16:57) [61]

> [59] Aldor ©   (22.10.04 15:56)
Версия дельфи ни при чем.
На обоих компьютерах она стоит одинаковая (специально дома сделал систему один в один с рабочим компьютером, включая OS и SP).

И всеравно наблюдается такой глюк с подтормаживанием на рабочем компьютере...


 
Aldor ©   (2004-10-22 20:17) [62]

Так я не понял, Вы нашли причину того, что откомпилированная у Панова программа работает быстрее на Вашей машине ([52])?


 
имя   (2004-10-22 21:25) [63]

Удалено модератором


 
Rouse_ ©   (2004-10-22 21:26) [64]

> [62] Aldor ©   (22.10.04 20:17)
Нет, к сожалению не нашли...
Вчера общался с Юрием Зотовым, он предположил кое что, но предположение к сожалению оказалось неверным...

Теперь я совсем потерялся, решение не найдено и никто не может объяснить причину...
Хорошо что хоть в практике не приходится создавать так много потоков в цикле...


 
wisekaa ©   (2004-10-22 23:00) [65]


> Rouse_

А что по железу, машины тоже одинаковые?
Мне на ум больше пока ничего не пришло.


 
jack128 ©   (2004-10-22 23:04) [66]

А у тя случайно не 16 цветов на мониторе??  :-))) А то я сегодня узнал, что программы, написанные на D5 не  запускаются, если в настройках экрана выставлено 16 цветов...


 
Rouse_ ©   (2004-10-22 23:26) [67]

> [65] wisekaa ©   (22.10.04 23:00)
По железу почти один в один, если не брать харды то на нормальной машине (на которой все норм) проц 3.0 в отлицие от 3.2 на глючной рабочей
Память по гектару оба
Мать один в один
Видюха 5.600 против 5.200 на глючной (но не думаешь же ты что потоки от видео тормозят(ведь на второй рабочей тоже проверяли, и тоже тупит) ;)

> [66] jack128 ©   (22.10.04 23:04)
Ну и конечно, не 16 цветов :)


 
wisekaa ©   (2004-10-23 00:02) [68]


> jack128 ©   (22.10.04 23:04) [66]

Вроде это только при использовании BDE.


> Rouse_ ©   (22.10.04 23:26) [67]

Нет не в видухе, я думал тормозят процы с мамками (бывают не удачные сочетани по производительности).
Харды - даже не знаю, насколько я понимаю, почти вся работа виндов с памятью все равно проходит через своп файл, но что-бы так зависеть от этого врядли.
А сетевухи? У меня на работе была глючная сетевуха, её коротнуло как-то в грозу, так работала ничего, но иногда глючила.


 
jack128 ©   (2004-10-23 00:23) [69]

wisekaa ©   (23.10.04 0:02) [68]
Вроде это только при использовании BDE.


использую IBX.  Да и сам инсталятор Дельфи при попытке запуститься тоже виснет.

зы А как BDE связана с видео режимом??


 
Rouse_ ©   (2004-10-23 00:24) [70]

Ну блин...
А как создание потока с сетевухой то связано? ;)


 
esu   (2004-10-23 01:28) [71]

сетка 192.168.1/24
вижу только себя (в домене)


 
Rouse_ ©   (2004-10-23 01:34) [72]

> [71] esu   (23.10.04 01:28)
Вход в домен произведен? ...


 
esu   (2004-10-23 01:40) [73]

Rouse_ ©   (23.10.04 01:34) [72]
Да. Это win2kserver, контроллер домена. ДНС соответственно localhost. Но сканирует относительно быстро (жаль что неверно :)


 
esu   (2004-10-23 01:46) [74]

2. выключен NBT (NetBIOS Over TCP/IP)
3. NetBEUI вообще отсутствует как класс


 
Rouse_ ©   (2004-10-23 01:47) [75]

> ДНС соответственно localhost
Собственно это демо опирается именно на сетевое имя, так что...


 
wisekaa ©   (2004-10-23 02:32) [76]


> Rouse_ ©   (23.10.04 00:24) [70]

Не с сетевухой создание не связано, это я про время отклика.

> jack128 ©   (23.10.04 00:23) [69]

BDE Adminnistrator требует такую цвет. гамму, думаю для работы с картинками в блобах, так что не исключаю такое требование и от других драйверов БД.


 
Aldor ©   (2004-10-23 09:37) [77]

В D6 и в D7 с разной скоростью  срабатывает именно строчка call CreateThread или что-то еще?


 
Rouse_ ©   (2004-10-23 13:34) [78]

> [77] Aldor ©   (23.10.04 09:37)
нет.
Есть 2 абсолютно идентичных компа.
На обоих стоит семерка с первым сервиспаком.
На одном нормально идет создание потока, на другом сильно тормозит...



Страницы: 1 2 вся ветка

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.66 MB
Время: 0.049 c
4-1096448850
Chipset
2004-09-29 13:07
2004.11.14
ТВ-тюннеры: создание софта для.


4-1097041381
Суслик
2004-10-06 09:43
2004.11.14
Шрифт


6-1094132328
Dextor
2004-09-02 17:38
2004.11.14
Небольшая проблемка с процедурой вызванной из Dll на лок. тачке


14-1099002605
GanibalLector
2004-10-29 02:30
2004.11.14
Двенадцать заповедей пролетариата


14-1098792989
yet another student
2004-10-26 16:16
2004.11.14
Виртульные машины Бека/Кнута





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский