Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Клуб профессиональных программистов :: Выпуск #76


Клуб профессиональных программистов "Весельчак У"
Информационная рассылка сайта и форума.  Выпуск No76 (2009-09-07).

Здравствуйте, уважаемые читатели!


Поздравляем всех школьников и студентов с началом нового учебного года!

Сегодня в выпуске — подборка актуальных на нашем форуме тем за последнюю неделю.


В нашей библиотеке появился новый раздел — «Хуждожественная литература» и уже есть пополнение. Книги взяты из открытых источников в Интернете и переработаны для удобного чтения.



В архиве DDK спустя годы обнаружился казус: «Windows DDK 2003 SP1» на деле оказался «Windows Software Development Kit для Windows Server 2008 и .NET Framework 3.5». За столько лет никто не заметил, хотя скачана была не одня сотня копий! Архив переименовали и поместили в раздел «SDK», а в разделе DDK наконец-то появился настоящий «Windows server 2003 DDK», а также прибавление — «Windows DDK 7.0.0».


В разделе драйверов обновлен FAQ: «FAQ/ЧаВо (ответы на простые вопросы)».


В разделе «Общие проекты» обновление в теме «Система управления полиграфическим предприятием».


  • Программирование :: Общий :: Алгоритмы и математические задачи.
  • Имеется массив m размером n, заполненный случайными величинами так, что в массиве не существует 2х и более равных элементов

    есть функция
    Код:
    int f() {
        int s=1;
        double t=m[0]
        for ( int i=1;i<n;i++ ) {
            if (t<m[i]) {
                s++;
                t=m[i]
            }
            return s;
        }
    Проще говоря, фукнция инкрементирует результат каждый раз, когда встречает в массиве число, большее всех предыдущих, и первое число ( m[0] ) считается большим по определению
    Правильно ли я расчитал, что вероятности f() == 1 и f() == 2 равны 1\n ?
    /*  вероятность f()==2, походу есть сумма вероятностей 2х независимых событий
    первое: что второй по величине элемент окажется в 0 позиции - равно 1\n
    Второе: что после элемента в 0 позиции, чья pos() допустим == i, будут следовать элементы чья pos() < i до тех пор, пока не встретится максимальный элемент ...

    Не является ли первое событие частным случаем второго?
    Если нет, то как их просуммировать?
     - next day */



    Вероятность f() == n   равна 1\n**n ?

    В рассчетах пришлось оперировать величиной ==
    Код:
    double xxx(unsigned int a) { 
        double s=0;
        for(int i=1;i<=a;i++) s+= double(1)/double(i);
        return s;
    }
    Есть ли в математике какое-нибудь обозначение xxx(n) ?

    сколько в среднем пар типа { m[i1]>m[i2] при 0<=i1<i2<n } можно ожидать в массиве m[n] ?

    Правильна ли формула расчета числа таких пар для конкретного (проинициализированного) масссива m[n] :
    Код:
    m1=m;
    sort(m1);
    int pos(double el) {
        for( int i =0;i<n;i++) if( el == m1[i] ) return i;
    }

    int count() {
        int s=0;
        for ( int i=0;i<n;i++) {
            if ( pos(m[i])>i ) s+=pos(m[i])-i;
        }
        return s;
    }
  • Программирование :: Технологии разработки программных систем
  • Подскажите, с чего следует начинать при написании программы, которая должна контролировать правильность своей работы, целостность своего кода и памяти. Да и вообще должна зафиксировать любой факт воздействия на код и на данные. А также должна контролировать правильность работы АЛУ.

    Может, кто знает соответствующие статьи в данном направлении, дайте ссылки. Буду очень благодарен.
  • Программирование :: .NET технология от и до
  • При частом изменении текста в subitemах контрола ListView, работающего в режиме report, наблюдается мерцание контрола, подобное тому, которое можно наблюдать, когда по телевизору показывают телевизор. То есть, примерно два раза в минуту по ListView снизу вверх пробегает волна мерцания, причём она не зависит от частоты обновления текста.

    Главное окно программы содержит панель с графиками и ListView, в котором отображаются значения по мере того, как юзер на мыше ездит по графику.

    Я подозреваю, что это может как-то быть связано с частотой экрана и с частотой обработки прерываний мыши где-то внутри, но я не знаю, что можно с этим сделать. Мб задержку какую..

    Существуют ли какие-нибудь практические подходы к решению данного вопроса?
    (когда я лет 10 назад делал это на MFC, такой проблемы вообще не возникало..  :dontknow:)


    Мышь обрабатываю в добавленном к основному (не перегруженном) обработчике,
    и в нём же вызываю функцию изменения текста в subitemах, которая делает это следующим образом:

    Код:
                if(m_Graph.m_Lines!=null)
                {
                    if (m_Graph.m_Lines[0].m_LVI != null)
                        m_Graph.m_Lines[0].m_LVI.SubItems[1].Text = m_Srz[si].Pgr_Str();

                    if (m_Graph.m_Lines[1].m_LVI != null)
                        m_Graph.m_Lines[1].m_LVI.SubItems[1].Text = m_Srz[si].Ptm_Str();

                    if (m_Graph.m_Lines[2].m_LVI != null)
                        m_Graph.m_Lines[2].m_LVI.SubItems[1].Text = m_Srz[si].Ptc_Str();

                    if (m_Graph.m_Lines[3].m_LVI != null)
                        m_Graph.m_Lines[3].m_LVI.SubItems[1].Text = m_Srz[si].Pur_Str();

                   // итд
                }



  • Программирование :: С/С++
  • Нужен xml parser, very light-weight xml parser
    Должна быть возможность его изменять и продавать ПО, куда встроен парсер

    Сейчас использутеся Aladdin (нельзя брать деньги за ПО), планирую посмотреть pugixml (MIT license) и tinyxml

    Порекомендуйте, какой звять?
    Спасибо
  • Программирование :: С/С++ :: ANSI С/С++
  •  strict c++ : 64 bit int

    Как можно задать 64 битную целую переменную на 32 битной системе?

    Желательно без подключения библиотек, без вывода предупреждений


  • Программирование :: С/С++ :: WinAPI & Visual C++
  • Возникла такая проблема: есть стороннее приложение (ни исходников, ни понятия как устроено, естественно, нету) у него есть два интерфейса для подключения длл. Первый - для выполнения разной работы для приложения, типа служебный что-то там делает, библиотека возвращает или нет результаты. Приложение на это как-то реагирует (производит или не производит определённые действия). Второй интерфейс: подключенная библиотека получает данные, что-то с ними делает и возвращает результат. На работу программы результат не влияет, но через программу можно вывести результат на экран в удобоваримой форме (графики и тому подобное).
    Проблема заключается в следующем: я уже написал одну длл, которая выполняет некоторую работу, но она требует определённой доводки. Вывести результаты её работы через программу не получится, я подумал, что можно было бы написать ещё одну простенькую длл-ку, которая будет подключаться ко второму интерфейсу и  как бы мониторить первую, выводя результаты через само приложение. Но как связать их между собой, понять не могу. Обе длл-ки должны быть загружены одним и тем же приложением и уже потом связаны между собой, я думаю, теоретически это возможно, но как это реализовать на практике, не представляю. Подскажите, пожалуйста, если кто знает, как это можно сделать :confused:
     
  • Здравствуйте, господа программисты.

    Собственно, у меня вот такой вопрос .
    Есть приложение. В нём есть кнопки. Я их хочу программно жать.
    Если вы расскажете, как их найти, будет чудесно.
    А если ещё добавите как их жать, я, наверно, даже обрадуюсь.

    Благодарю за внимание.

    Ваш Гоша.
  • Говорят, в Microsoft Visual Studio 2008 Professional Edition компилятор существенно лучше. Скомпилированные программы работают быстрее, чем в Microsoft Visual С++ 6.

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

    Если нет практически никакой разницы, тогда ещё два вопросика:

    2. В Microsoft Visual С++ 6 размер SP6 примерно в два раза меньше, чем SP5, это значит, что я должен для нормальной работы установить SP5, а затем SP6, я-то думал, что все заплатки из старого SP переходят в новый и плюс новые заплатки?

    3. зачем нужно в Microsoft Visual С++ 6 при использовании функции timeGetTime​ подключать библиотеку
    #pragma comment(lib, "winmm.lib"), а если не подключать библиотеку, то при запуске программы возникает ошибка
    text.obj : error LNK2001: unresolved external symbol __imp__​timeGetTime@0, я её в компиляторе borland не подключал, она и так работала, да и во многих примерах для Microsoft Visual не написано про это?

    Помогите, пожалуйста, разобраться.
  • Добрый вечер! Кто может мне объяснить, где моя ошибка... Если использую такой подход:
    Код: (cpp)
    int LoadBitmapFile(BITMAP_FILE_PTR bitmap, char *filename)
    {
    FILE *file;

    if((file = fopen(filename, "rb")) == NULL)
    return 0;

    fread(&bitmap->bfh, sizeof(BITMAPFILEHEADER), 1, file);

    if(bitmap->bfh.bfType != BITMAP_ID)
    {
    fclose(file);
    return 0;
    }

    fread(&bitmap->bih, sizeof(BITMAPINFOHEADER), 1, file);

    fseek(file, -int(bitmap->bih.biSizeImage), SEEK_END);

    if(bitmap->bih.biBitCount == 24)
    {
    if(bitmap->buffer)
    delete bitmap->buffer;

    if(!(bitmap->buffer = new UCHAR[bitmap->bih.biSizeImage]))
    {
    fclose(file);
    return 0;
    }

    fread(bitmap->buffer, sizeof(bitmap->bih.biSizeImage), 1, file);
    }
    else
    {
    fclose(file);
    return 0;
    }

    fclose(file);
    return 1;
    }
    то на экран выводится серый прямоугольник по размерам картинки...
    А если использую такой подход:
    Код: (cpp)
    int LoadBitmapFile(BITMAP_FILE_PTR bitmap, char *filename)
    {
    int file;

    OFSTRUCT file_data;       

    if ((file = OpenFile(filename,&file_data,OF_READ))==-1)
       return 0;

    _lread(file, &bitmap->bfh,sizeof(BITMAPFILEHEADER));

    if (bitmap->bfh.bfType!=BITMAP_ID)
    {
       _lclose(file);
       return 0;
    }

    _lread(file, &bitmap->bih,sizeof(BITMAPINFOHEADER));

    if (bitmap->bih.biBitCount==24)
    {
    if (bitmap->buffer)
       delete bitmap->buffer;

    if (!(bitmap->buffer = new UCHAR[bitmap->bih.biSizeImage]))
    {
    _lclose(file);
    return 0;
    }

    _lread(file,bitmap->buffer,bitmap->bih.biSizeImage);
    }
    else
       {
       
    return 0;

       }

    _lclose(file);
    return 1;

    }
    то все работает... Помогите разобраться...
    Работаю в Visual Studio 2008
    Изображение вывожу на экран функцией
    Код: (cpp)
    void DrawBitmap(BITMAP_FILE_PTR
    bitmap, COLORREF color_key, HDC hdc)
    {
    int red, green, blue, mask;

    for(int index=0,x=0,y=0; index<=bitmap->bih.biSizeImage; index += 3,x++)
    {
    red   = bitmap->buffer[index];
    green = bitmap->buffer[index+1];
    blue  = bitmap->buffer[index+2];

    if(RGB(red,green,blue) != color_key)
    SetPixel(hdc,x,y,RGB(red,green,blue));

    if(!(index%bitmap->bih.biWidth))
    {
    y++;
    x=0;
    }
    }
    }
  • Привет!Проблема смешная,но может кто знает:)Подскажите плиз
    Пишу на MS Visual С++ 2008.
    Запрос "select * FROM ZKOKS.right" не выполняется. Мое предположение, что слово right воспринимается как начало right_join.Любые другие запросы выполняются.
     
  • Программирование :: С/С++ :: Borland C/C++
  • Не подскажете, какой компонент (бесплатный) можно использовать для конвертации *.wav файлов в *.Ogg и обратно…

    Для C++Builder 6
  • Добрый день...
    Подскажите, как можно взять инфу с программы DOS…и передать его в GUI… Или скажите: вообще такое возможно…
    Например, есть программа «Hello, world !!!», как её запустить я знаю, вот как переправить эту надпись («Hello, world !!!»), к примеру, в Label, не знаю…
    Запускаю так:

    Код:
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     String sPath = ExtractFilePath(ParamStr(0));
     sPath = sPath + "Hello.exe";
     STARTUPINFO StartInfo={sizeof(TStartupInfo)};
     PROCESS_INFORMATION ProcInfo;
     LPCTSTR s;
     StartInfo.cb = sizeof(StartInfo);
     StartInfo.dwFlags = STARTF_USESHOWWINDOW;
     StartInfo.wShowWindow = SW_SHOWNORMAL;
     if(!CreateProcess(NULL,sPath.c_str(),NULL,NULL,false,DETACHED_PROCESS | HIGH_PRIORITY_CLASS,NULL,NULL,&StartInfo, &ProcInfo)){
     ShowMessage("Ошибка №" + IntToStr(GetLastError()));
     }
    }

    Пишу на C++Builder 6
  • Программирование :: С/С++ :: C/C++ Unix
  • Линковка шаблона

    Код:
    #ifndef intrusive_list__HHHH
    #define intrusive_list__HHHH
    struct link_err {
    string s;
    link_err(const char* pc):s(pc){}
    };
    struct slink { //base class for intrusive single linked list
    slink* next;
    slink(slink* p=0):next(p) {}
    };
    template<class T> class intrusive_list {
    T *head;
    T *last;
    unsigned int s;
    // size_t s;
    public:
    class iterator {
    T* p;
    public:
    iterator(T* pp):p(pp) {}
    iterator& operator++(int ) { p=static_cast<T*>(p->next); return *this; }
    T& operator*() { return *p; }
    bool operator==(const iterator& i) { return p==i.p; }
    bool operator!=(const iterator& i) { return p!=i.p; }
    };
    intrusive_list():head(0),last(0),s(0) {}
    iterator begin() { return iterator(head); }
    iterator end() { return iterator(0); }
    void push_front(T& t) ;
    void push_back(T& t) ;
    iterator& erase(iterator& i) {
    if (!s) throw link_err("empty error");
    s--;
    if (!s)  {
    head=last=0;
    return 0;
    }
    if ( head == i.p ) {
    head=i.p->next;
    i.p->next=0;
    i++;
    return i;
    }
    }
    };


    template<class T> void intrusive_list<T>::push_front(T& t) {
    s++;
    t.next=head;
    if(! last) last=&t;
    head=&t;
    return;
    }
    template<class T> void intrusive_list<T>::push_back(T& t) {
    s++;
    if(! last)  head=last=&t;
    else {
    last->next=&t;
    last=&t;
    }
    return;
    }
    #endif

    как вынести erase за пределы объявления класса? (чтобы получилось как push_front,push_back)

    как вынести определения push_front,push_back,erase в отдельный translation unit?
  • Программирование :: VisualBasic :: Visual Basic for Applications
  • Приветствую!
    Нужна помощь в написании VBA-скрипта для word. Что должен делать: есть несколько doc-файлов, со структурой: Блок1 -бла-бла-бла. Блок2 -бла-бла-бла
    Нужно собрать в один файл все записи блоков1, в другой записи блока 2 из всех файлов и так далее. Надеюсь, понятно объяснил. Хотя бы подскажите, куда копать. Приходится постоянно 17 подобных файлов вручную перебирать :(
    Скрипт должен работать примерно следующим образом - открывается файл 01.doc, из него берется блок текста от строки "Блок1" до строки "Блок2", заносится в файл full01.doc, открывается файл 02.doc, также берется блок текста "Блок"-"Блок2", дописывается в конец файла full01.doc. И также с остальными блоками текста, от блок3 до блок3 и так далее.
  • Программирование :: Программирование 1С
  • Надо было сделать документ заказ наряд! Для автомобильного сервиса!
    Я его всё сделал (содрал модуль с реализация в розницу они по сути похожи!) все работает но единственная проблема в том, что в столбике В.Т.Ч. НДС не ведётся автоматический расчёт значения этого ндс! Хотелось бы узнать, как это сделать!
    Вернее, какая процедура отвечает за это!???

  • Программирование :: Программирование 1С :: 1С 8.x
  • Есть набор формул, по которым должны вычисляться значения в Документе 1С, каким образом реализовать алгоритм вычисления?
    Например, если есть формула W=(Q1-Q2)*100/Q1-Q где Q - вес пустой емкости, Q1 - вес с навеской до высушивания емкости, Q2 - вес с навеской после высушивания емкости.
    Как сделать, чтобы значения с "Поле ввода" подставлялись в формулу?
  • Добрый день!

    Ситуация такая:

    В справ-ке"Контрагенты" я сделала вкладку Базы клиента, на ней разместила табличную часть "БазыКлиента", где указывается наименование базы, рег.номер и признак Сопровождается (Булево).

    Теперь необходимо, чтобы при формирование док-та Счет на оплату, выбрав контрагента, пользователь нажал кнопку Заполнить. В результате табличная часть  стандартного счета должна заполниться базами контрагента (из табл.части спр-ка Контрагенты) с признаком Сопровождается (Истина). Т.е в счет должны попасть сопровождаемые базы именно этого контрагента и именно автоматически.

    Подскажите, пожалуйста, новичок в программировании:)
  • ВЫБРАТЬ РАЗРЕШЕННЫЕ
      ЗаказПокупателя.Ссылка.Подразделение КАК Подразделение, 
      ЗаказПокупателя.Ссылка.Ответственный КАК Ответственный,
      ЗаказПокупателя.Ссылка.Контрагент КАК Покупатель,
      ЗаказПокупателя.Ссылка.Ссылка КАК Заказ,
      ЗаказПокупателя.Ссылка.Ссылка,
    ВЫБОР
      КОГДА ЗаказПокупателя.НомерСтроки = 1
        ТОГДА ЗаказПокупателя.Ссылка.СуммаУслуг
        ИНАЧЕ 0
      КОНЕЦ КАК СуммаУслуг,
      ЗаказПокупателя.Сумма КАК СуммаЗаказа,
      ЗаказПокупателя.СебестоимостьСумма КАК СуммаСебестоимости,
      ЗаказПокупателяК.Документ КАК ДокументКорректировки,
    ВЫБОР
      КОГДА ЗаказПокупателя.НомерСтроки = 1
        ТОГДА ЗаказПокупателяК.Сумма
        ИНАЧЕ 0
      КОНЕЦ КАК СуммаКорректировки,
      ЗаказПокупателяО.Документ КАК ДокументОплаты,
    ВЫБОР
      КОГДА ЗаказПокупателя.НомерСтроки = 1
        ТОГДА ЗаказПокупателяО.Сумма
        ИНАЧЕ 0
      КОНЕЦ КАК СуммаОпл
    ИЗ
      Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.ДокументыКорректировки КАК ЗаказПокупателяК
        ПО ЗаказПокупателя.Ссылка = ЗаказПокупателяК.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.ДокументыОплаты КАК ЗаказПокупателяО
        ПО ЗаказПокупателя.Ссылка = ЗаказПокупателяО.Ссылка
    ГДЕ
      ЗаказПокупателя.Ссылка.Дата >= &ДатаНачала
      И ЗаказПокупателя.Ссылка.Дата <= &ДатаКонца
    ИТОГИ
      СУММА(СуммаУслуг),
      СУММА(СуммаЗаказа),
      СУММА(СуммаСебестоимости),
      СУММА(СуммаКорректировки),
      СУММА(СуммаОпл)
    ПО
      Подразделение,
      Ответственный,
      Покупатель,
      Заказ,
      ДокументОплаты,
      ДокументКорректировки
     
    СуммаУслуг берется из шапки, СуммаЗаказа и СуммаСебестоимости - из 1 ТЧ (по товарам), СуммаКорректировки - из 2-ой ТЧ, СуммаОпл - из 3-ей ТЧ...
    Проблема в том, что если в 3-ей ТЧ несколько строк, то сумма из шапки и 1-ой ТЧ увеличивается на кол-во строк (если указываешь 1-ый номер строки из 3-ей ТЧ (сейчас в запросе ссылка на 1-ую ТЧ), то увеличивается и сумма по 3-ей)... + при таком запросе (указании группировки ДокументКорректировки) - выводится только одна строка из группировки ДокументОплаты...
     
    PS. Сильно прошу не пинать, т.к. только учусь программированию на 8-ке...
    PS2. Пробовал сделать запрос через ОБЪЕДИНИТЬ ВСЕ выбрав разные ТЧ, но результат запроса получается пустой... попадают только данные из шапки...
  • Подскажите, пожалуйста, как при двойном нажатии на ячейку макета создать новый документ?
  • Операционные системы :: Unix и другие :: Linux
  • Загруженный модуль ядра, если на него нет ссылок с других ресурсов, через некоторое время автоматически выгружается. Знает ли кто возможность административно запретить выгрузку конкретного неиспользуемого модуля?

    Скажем, хочу запретить выгрузку ip_conntrack_ftp. Что-то я ничего по этому делу не смог нарыть. Что интересно, никогда у меня подобных проблем с никакими другими модулями не было - только с ip_conntrack_ftp.
  • Направления программирования :: Drivers
  • Господа, разбираюсь с passthru. C переменным успехом.

    Написал в PtReceivePacket код, анализирующий протокол, и если это ARP,
    пытаюсь отправить его обратно в сеть.

    Код:
    PNDIS_PACKET  Pack2; 
    if(reverse_us(peth->ether_type) == 0x0806) // ARP
    {
    NdisAllocatePacket(&Status,
       &Pack2,
       pAdapt->SendPacketPoolHandle);

    if (Status == NDIS_STATUS_SUCCESS)
    {
    PSEND_RSVD SendRsvd;

    SendRsvd = (PSEND_RSVD)(Pack2->ProtocolReserved);
    SendRsvd->OriginalPkt = Packet;

    Pack2->Private.Flags = NdisGetPacketFlags(Packet);

    NDIS_GET_PACKET_MEDIA_SPECIFIC_INFO(Packet,
    &MediaSpecificInfo,
    &MediaSpecificInfoSize);

    if (MediaSpecificInfo || MediaSpecificInfoSize)
    {
    NDIS_SET_PACKET_MEDIA_SPECIFIC_INFO(Pack2,
    MediaSpecificInfo,
    MediaSpecificInfoSize);
    }

    NdisAllocateBufferPool(&Status, &PoolHandle, 1);
    DBGPRINT(("PtReceivePacket: Status = %d\n", Status));

    DBGPRINT(("PtReceivePacket: NdisAllocateBuffer\n"));
    NdisAllocateBuffer(&Status, &NdisBufAdd, PoolHandle, buf, NumberOfBytes);

    DBGPRINT(("PtReceivePacket: NdisChainBufferAtBack\n"));
    NdisChainBufferAtFront(Pack2, NdisBufAdd);

    GetBufFromPacket(Pack2,
      buf,
      sizeof(buf),
      &NumberOfBytes);

    DBGPRINT(("PtReceivePacket: Send from recieve!!!\n"));
    PrintBufer(buf, NumberOfBytes);

    //_asm {int 3};
    NdisSend(&Status,
    pAdapt->BindingHandle,
    Pack2);

    if (Status != NDIS_STATUS_PENDING)
    {
    NdisFreePacket(Pack2);
    }

    //return 0;
    }
    }

    Код:
    VOID PtSendComplete(IN NDIS_HANDLE   ProtocolBindingContext,
    IN  PNDIS_PACKET Packet,
    IN  NDIS_STATUS Status
    )
    {
    PADAPT pAdapt =(PADAPT)ProtocolBindingContext;
    PNDIS_PACKET Pkt;
    NDIS_HANDLE PoolHandle;
    ULONG NumberOfBytes;
    UCHAR buf[1518];
    UINT index = 0;

    #ifdef NDIS51
    PoolHandle = NdisGetPoolFromPacket(Packet);
    if (PoolHandle != pAdapt->SendPacketPoolHandle)
    {
    DBGPRINT(("PtSendComp: Adapt %p, Stacked Packet %p\n", pAdapt, Packet));

    NdisMSendComplete(pAdapt->MiniportHandle,
      Packet,
      Status);
    DBGPRINT(("\nPtSendComp: After NdisMSendComplete. Status = %d\n", Status));
    }
    else
    #endif // NDIS51
    {
    PSEND_RSVD SendRsvd;

    SendRsvd = (PSEND_RSVD)(Packet->ProtocolReserved);
    Pkt = SendRsvd->OriginalPkt;

    DBGPRINT(("\nPtSendComp: Befor NdisDprFreePacket\n"));
    NdisDprFreePacket(Packet);

    DBGPRINT(("\nPtSendComp: Befor NdisMSendComplete\n"));
    NdisMSendComplete(pAdapt->MiniportHandle,
    Pkt,
    Status);
    }
    DBGPRINT(("\nPtSendComp: EXIT"));
    }   

    Как я понял if (PoolHandle != pAdapt->SendPacketPoolHandle) разделяет пакеты, пришедшие от вышележащих драйверов
    и созданные мной. Когда я попадаю в else, получаю BSOD на NdisMSendComplete.

    Подскажите, что не так и куда копать.
  • Направления программирования :: Web :: Серверные скрипты
  • Хотел вот посмотреть, как работь с pdf файлами.
    Начал читать, и меня заинтересовал такой момент, а можно ли преобразовать страницы в изображение.
    Это возможно без командной строки и как это можно реализовать?

    Благодарю за проявленный интерес.
  • Направления программирования :: Web :: Непрограммистские вопросы по web
  • Необходимо разместить в шапке сайта logo поверх флешки.

    Код:
    div id="header">
                 <!--Flash-->
                   <div id="flash">
              <script type="text/javascript">
    AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','1000','height','293','src','img/header','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','img/header' ); //end AC code
    </script><noscript>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="1000" height="293">
                 <param name="wmode" value="transparent"/>
                 <param name="movie" value="img/header.swf" />
                 <param name="quality" value="high" />
                 <embed src="img/header.swf" wmode="transparent" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="1000" height="293" ></embed>
                </object>
             </noscript>
                 </div>
                          <div id="logo-name"><img src="img/logo-name.gif"></div>
                   </div>


    СSS
    Код:
    #header{
        position:relative;
        margin:0px auto;
        background:#FFFFFF url(img/header.jpg) no-repeat center;
        height:290px;
        width:1000px;
        }
       
    #header #flash{   
        position:absolute;
        z-index:-1;
    }

    #logo-name{
        position:absolute;
        z-index:100;
        top:75px;
        left:25px;   
    }
  • Практические разделы :: Базы данных
  • Долго изучал мануалы MySQL, пытаясь понять, можно ли сократить следующее выражение:

    Код:
    SELECT * FROM tab WHERE ... FOR UPDATE;

    Смысл в том, что мне не нужны данные запроса.
    Попробовал такой вот изврат и... получилось:

    Код:
    SELECT MIN(1) FROM tab WHERE ... FOR UPDATE;

    Интересно, как с этим обстоят дела у других СУБД?
  • Почему такое происходит??? Есть программка, бд парадокс, пользователи жалуются, что в одной таблице регулярно слетают индексы. Работать с таблицей можно только после восстановления архивной копии. У себя провожу многократно ту же процедуру, ничего не слетает. Мне говорили уже, что с парадоксовскими таблицами бывают проблемы, но непонятно, почему только с одной.
  • Такая у меня есть задачка: нужно физически разнести два сервера по разным защищенным сетям, без соединений по VPN и т.п.
    На одном сервере СУБД, на другом программа, работающая под Windows, обращающаяся к базе через ADO (используется не интенсивно). Одним из самых легких решений было бы наличие некоторого драйвера, который в системе выглядел бы как ODBC-драйвер, а общался бы по HTTP с удаленным web-сервером, которому передавал бы запросы и от которого принимал бы запрошенные данные. Этакий ODBC-SQL-HTTP-Proxy.

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

    Вариант с изменением ПО возможен, но существенно более трудоемок.



    В общем, пока больше склоняемся, что самое быстрое и менее трудоемкое - IP-tunnel. Но от идеи с таким дваймером не отказываемся - на случай если по каким-либо причинам не удастся связать боле традиционными способами.
  • Практические разделы :: Железо
  • Вот тема, в которой можно обсудить внутреннее устройство и методы диагностирования/самодиагностирования, примененные в машинах VAX
  • есть комп с двумя сетевыми картами, к одной подключен inet, к второй карте хочу подключить второй комп. Как это сделать, и возможно ли использовать первый комп как роутер общего подключения к inet.
  • Клубное :: Общение :: Фото :: Железо
  • Типа readme.

    Проверенные ЛИЧНО ресурсы с информацией о фото-железе. Тесты, характеристики, навороты и тд. и тп.

    Под проверенным лично понимается не ответственность за опубликованную на ресурсе информацию, а просто опыт личного использования ресурса. Короче, не просто копировать ссылки откуда-нибудь, а пару слов от себя - что, зачем, чем лучше аналогичных, в идеале конечно о личном опыте использования информации, если таковой имеется. Ну в общем из личного опыта.
  • Клубное :: Общение :: Форумные игры
  • Про проекции моя любимая доставалка была известная со школы задачка:

    даны две проекции: вид сверху и спереди, найти третью. ;-)

    (http://forum.shelek.ru/index.php?action=dlattach;topic=20859.0;attach=3634)

А теперь прощаемся с Вами до следующего выпуска.


С уважением, команда Клуба.


В избранное