Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
2 / 2 / 0
Регистрация: 19.04.2014
Сообщений: 36
1

Не работает код на Windows 7

05.05.2014, 10:33. Показов 633. Ответов 2
Метки нет (Все метки)

Ещё раз всем привет.
Есть код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <winbase.h>
#include "Registry.hpp"
 
 
#include "Unit1.h"
#include <iphlpapi.h>
#include <Iptypes.h>
#include <string.h>
#include <dstring.h>
 
#pragma link "iphlpapi.lib"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
 
 
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        PIP_ADAPTER_INFO pAdapterInfo;
        PIP_ADAPTER_INFO pAdapter = NULL;
        String tmp;
        String NameAdapter;
        String IdAdapter;
        String IpAddress;
        pAdapterInfo = (IP_ADAPTER_INFO *) malloc( sizeof(IP_ADAPTER_INFO) );
        ULONG ulOutBufLen = sizeof(IP_ADAPTER_INFO);
        if (GetAdaptersInfo( pAdapterInfo, &ulOutBufLen) != ERROR_SUCCESS)
        {
                free( pAdapterInfo ); // pAdapterInfo=NULL - íåïðàâèëüíî, óòå÷êà ïàìÿòè
                pAdapterInfo = (IP_ADAPTER_INFO *) malloc (ulOutBufLen);
                if( pAdapterInfo != NULL ) // ïàìÿòè äîñòàòî÷íî
                {
                         if( GetAdaptersInfo( pAdapterInfo, &ulOutBufLen ) != NO_ERROR )
                        {
                                 // Ñîîáùåíèå îá îøèáêå, îñâîáîäèòü ïàìÿòü è îáÿçàòåëüíî âûõîä
                                free( pAdapterInfo );
                                return;
                        }
                }
                else
                {
                          // Ñîîáùåíèå îá îøèáêå è îáÿçàòåëüíî âûõîä
                         return;
                }
        }
 
        pAdapter = pAdapterInfo;
        while( pAdapter != NULL )
        {
                 // À âîò òåïåðü óæå äåëàåì ðàçáîð
                IdAdapter =  pAdapter->AdapterName;
                NameAdapter = pAdapter->Description;
                tmp="";
                for(unsigned x=0;x<pAdapter->AddressLength;x+=1)
                {
                        tmp=tmp+IntToHex((int)pAdapter->Address[x],2);
                        if(x!=pAdapter->AddressLength-1)
                        tmp=tmp+"-";
                }
                IpAddress = pAdapter->IpAddressList.IpAddress.String;
                pAdapter = pAdapter->Next; // ïåðåõîäèì ê ñëåäóþùåìó
        }
                // È íå çàáûâàåì ïàìÿòü îñâîáîäèòü
        free( pAdapterInfo );
 
 
 
                        Edit1->Text = NameAdapter;
                        Edit2->Text = IdAdapter;
                        Edit3->Text = IpAddress;
                        Edit4->Text = tmp;
 
}
(iphlpapi.lib лежит в "....\CBuilder6\Lib\Psdk" я оттуда скопировал в папку с проектом, т.к. не знаю как подключится туда)
Этот Код прекрасно работает на ХР , но на 7-ке выдаёт ошибку
Код
Ошибка при запуске приложения (0xc00000142). Для выхода из приложения нажмите кнопку "ОК".
Проверил на двух компах,где стоит 7-ка
Помогите пожалуйста.
Заранее спасибо.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2014, 10:33
Ответы с готовыми решениями:

Код, работающий в Windows 7, не работает в Windows XP
Как этот код сделать универсальным, что бы работал не только в Windows 7 а и в XP? В ХP пишет путь...

Не работает дисковод в Windows 10 (код 19)
Приветствую. Такая проблема: дисковод отказывается подчиняться в Windows 10, однако исправно...

Windows phone 10 не работает Пин код
На телефоне стоит 4-х значный пин-код. При вводе пин-кода телефон вообще никак не реагирует (не...

У кого на windows работает такой код?
Замучился я с этими исключениями! #include &lt;QApplication&gt; #include &lt;stdexcept&gt; #include...

2
510 / 195 / 26
Регистрация: 07.08.2013
Сообщений: 814
05.05.2014, 10:44 2
Цитата Сообщение от Akless Посмотреть сообщение
на 7-ке выдаёт ошибку
Создал проект, добавил кнопку, 4 эдита, скопипастил код, подлючил библиотеку, скомпилировал, нажал кнопку - ошибок нет.
1
2 / 2 / 0
Регистрация: 19.04.2014
Сообщений: 36
05.05.2014, 13:02  [ТС] 3
Цитата Сообщение от Kulgar Посмотреть сообщение
Создал проект, добавил кнопку, 4 эдита, скопипастил код, подлючил библиотеку, скомпилировал, нажал кнопку - ошибок нет.
Ну,это меня ОЧЕНЬ радует. Значит оно работает,а мой комп привереда))) Мне главное чтобы он работал.
Спасибо,что проверили .

Добавлено через 22 минуты
Нашёл проблему у себя. Оказывается, у меня в папке с проектом был iphlpapi.dll . из-за него всё и ругалось. Как удалил его из папки,всё заработало
Ещё раз спасибо.
Я не нашёл как отредактировать свой предыдущий пост,так что прошу прощения за дабл пост.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2014, 13:02

Код на Windows Forms не работает с std::thread
Здравствуйте! Не могу разобраться как работать с thread в windows forms. Пишу в visual studio 2015....

Почему не работает данный код под windows masm32?
вопрос почему не работает данный код под windows masm32 .386 .model flat, stdcall option...

Это устройство работает неправильно, т.к. Windows не удается загрузить для него нужные драйверы. (Код 31)
Я купил кабель для диагностики атомобилей марки VW, - KKL VAG-COM for 409.1, загрузил драйвера, но...

Жёсткий диск My Passport Ultra на Windows 7 и 10 всё работает, а на Windows XP не работает
Имеется жёсткий диск My Passport Ultra на 1 терабайт. На Windows 7 и 10 всё работает. На Windows...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.