|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.09.2015, 21:05 | #11 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Так было в примере. Я почитал MSDN, там пишут что использование многопоточного режима более предпочтительно. Код выполняется быстрее и меньше глюков.
Если поставить COINIT_APARTMENTTHREADED, то hRes=1 Хотя изучить COM модель тоже не помешает, вроде пишут что все крутые чуваки должны уметь программировать под COM, OLE и ActiveX |
24.09.2015, 00:01 | #12 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,343
|
hRes = 1 это не ошибка, это S_FALSE - The COM library is already initialized on this thread.
|
24.09.2015, 00:18 | #13 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Я знаю, ошибка когда COINIT_MULTITHREADED. Номер не помню, описание примерно так звучит "невозможно изменить свойства потока, который уже запущен".
Для начала попробую простой способ, а потом уже будем лезть в эти дебри |
24.09.2015, 09:40 | #14 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,343
|
COM уже проинициализирован в другом режиме.
Либо запускайте свой поток, либо просто используйте single threaded режим, многозадачность здесь особо не надо. |
20.10.2015, 19:15 | #15 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Ковырял сегодня АИДА64, пытался понять как устроено там всё это хозяйство. Для замера скорости дергает GetTickCount в цикле, это я накидал сегодня простенькую демку (таймер и по каждому событию OnTimer вызов GetTickCount). Таким образом получаем время. А как получить количество трафика не нашел.
Причем показывается именно значение от подключения сетевой карты,а не от запуска АИДА64. То есть операционка сама хранит где то количество байт переданных и отправленных. При этом в свойства сетевого подключения отображаются пакеты (для Windows XP). Опять же dwInOctets это будут байты или пакеты? Я так понял что пакеты И как пакеты преобразовать в байты? |
20.10.2015, 19:58 | #16 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,343
|
Это байты...
|
20.10.2015, 20:50 | #17 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
То есть алгоритм будет такой:
1. замеряем время1 2. дергаем GetIfEntry2, получаем байты1 3. через n миллисекунд замеряем время2 4. дергаем опять GetIfEntry2, получаем байты2 5. скорость=(байты2-байты1)/(GetTickCount2-GetTickCount1) И всё это засунуть в TTimer на форму с заданным интервалов, например 10 миллисекунд. Не работает GetIfEntry: Код:
Последний раз редактировалось Stilet; 31.10.2015 в 07:44. |
26.10.2015, 11:04 | #18 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,343
|
Ну так сравните dwSize после первого и второго вызовов...
в GetIfTable надо передавать *указатель* на dwSize а здесь я ничего подобного не вижу, правда я в паскале не разбираюсь. |
26.10.2015, 13:43 | #19 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
В разных исходниках по разному, есть где @dwSize, но компилятор ругается что типы параметров в описании функции и вызове должны совпадать.
Types of actual and formal var parameters must be identical Указатели в Паскале такие же, как в С++, отличается синтаксис: *pointer на паскале будет pointer^ &var на паскале будет @var Последний раз редактировалось Stilet; 31.10.2015 в 07:44. |
26.10.2015, 14:33 | #20 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,343
|
Ну так сравните тип переменной dwSize и с типом, который ожидает GetIfTable()
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как узнать скорость передачи данных (при копировании файлов) по сети | calypso | Работа с сетью в Delphi | 0 | 02.12.2012 19:56 |
Сканирование документов по сети / Scan over Ethernet | mixael | Работа с сетью в Delphi | 0 | 08.10.2010 11:03 |
Как определить текущую строку StringGrid | Veiron | Общие вопросы Delphi | 2 | 24.09.2009 03:03 |
Определить текущую ячейку на листе | НикНик | Microsoft Office Excel | 5 | 18.08.2008 09:40 |
Как определить IP-адресс компьютера в локальной сети? | SalasAndriy | C/C++ Сетевое программирование | 2 | 29.11.2007 02:09 |