Форум программистов, компьютерный форум CyberForum.ru

Подключение dll (C++) к проекту VB 6.0 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Квадратная матрица http://www.cyberforum.ru/cpp-beginners/thread1025570.html
задание 688
C++ (m+1)! Как решать помогите (m+1)! = m! * (m+1) http://www.cyberforum.ru/cpp-beginners/thread1025562.html
C++ Как будут изменяться синаптические веса многослойной нейронной сети
Всем привет. Сижу изучаю нейронные сети и у меня возник такой вопрос: Если каждый нейрон скрытого слоя соединен с каждым нейроном предыдущего слоя и при инициализации все синаптические веса установлены в нуль, то как они будут изменяться при использовании алгоритма обратного распространения ошибки? На сколько я понимаю все веса каждого нейрона в скрытом слое будут иметь одинаковое значение,...
C++ Написать программу, которая будет склеивать два введеных строки
Написать программу, которая будет склеивать два введеных строки
C++ Функция с знаком сигмы http://www.cyberforum.ru/cpp-beginners/thread1025500.html
У меня возникло пару вопросов при рассмотрении данной функции: 1. Как поставить знак сигмы, знак бесконечности выше сигмы и k=1 ниже? 2. Как реализовать аргумент? (-π/2,...π/2, шаг π/10) Буду очень благодарен за подсказки! P.S Чувствую что можно как-то сделать через циклы, но не знаю как...
C++ Интерфейс на visual c++ #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv) { list< TInteger* > set; TBinary* obj1 = new TBinary; set.push_back(obj1); TBinary* obj3 = new TBinary; set.push_back(obj3); подробнее

Показать сообщение отдельно
Kverter
 Аватар для Kverter
35 / 35 / 16
Регистрация: 30.10.2013
Сообщений: 211
02.12.2013, 14:10     Подключение dll (C++) к проекту VB 6.0
Здравствуйте! Проблемма в подключении ДЛЛ к VB 6.
есть библиотека на C++
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
//ConsoleApplication2.cpp: определяет точку входа для консольного приложения.
//
//#define _UNICODE
#pragma comment( lib, "Activeds.lib" )
#pragma comment( lib, "Adsiid.lib" )
//#pragma comment( lib , "adsldp.dll" )
//#include <activeds.h>
#include <Iads.h>
#include <Adshlp.h>
#include <winldap.h>
#include <iostream>
#include <atlbase.h>
 #include <windows.h>
   #include <lm.h>
   #include <stdio.h>
#include <Lmcons.h>
#include <string>
#include <atlconv.h>
#include <string.h>
using namespace std;
 
extern "C" __declspec(dllexport) string sAMAccountName ()
{
    HRESULT hr;
    IADsADSystemInfo *pADsys;
BSTR bstr;
CoInitialize(NULL);
 hr = CoCreateInstance(CLSID_ADSystemInfo,
                              NULL,
                              CLSCTX_INPROC_SERVER,
                              IID_IADsADSystemInfo,
                             (void**)&pADsys);
 hr = pADsys->get_UserName(&bstr);
    IADs *pUsr=NULL;
 /*int length = SysStringLen(bstr);        // определяем длину BSTR
wchar_t *myString = new wchar_t[length+1]; // используем "+1" т.к. SysStringLen не учел nul в конце строки
wcscpy_s(myString ,wcslen(myString ), bstr); // копируем, используя безопасную wcscpy_s вместо wcscpy, помеченной как "deprecated"
SysFreeString(bstr); // скопированную уже BSTR-строку теперь можно корректно удалить
*/
 
USES_CONVERSION;
string strDesc = static_cast<CHAR*>(CW2A(bstr));
 
 string LDAP="LDAP://";
 string path = LDAP + strDesc;  
 wstring wstr( path.begin(), path.end() );
// const char *path1 = path.c_str();
 
LPCTSTR path2 = W2CT( wstr.c_str( ) );
 //LPCWSTR path2 = (LPCWSTR)wstr;
hr = ADsGetObject( path2, IID_IADs,(void**)&pUsr);
 
VARIANT var;
VariantInit(&var);
hr = pUsr->Get(CComBSTR("sAMAccountName"), &var );
/*if ( SUCCEEDED(hr) )
{
    printf("sAMAccountName: %S\n", V_BSTR(&var) );
    VariantClear(&var);
} */
//USES_CONVERSION;
 
string s2(W2A(var.bstrVal));
return s2;
}
 
 
extern "C" __declspec(dllexport) VARIANT userPrincipalName ()
{
    HRESULT hr;
    IADsADSystemInfo *pADsys;
BSTR bstr;
CoInitialize(NULL);
 hr = CoCreateInstance(CLSID_ADSystemInfo,
                              NULL,
                              CLSCTX_INPROC_SERVER,
                              IID_IADsADSystemInfo,
                             (void**)&pADsys);
 hr = pADsys->get_UserName(&bstr);
    IADs *pUsr=NULL;
 /*int length = SysStringLen(bstr);        // определяем длину BSTR
wchar_t *myString = new wchar_t[length+1]; // используем "+1" т.к. SysStringLen не учел nul в конце строки
wcscpy_s(myString ,wcslen(myString ), bstr); // копируем, используя безопасную wcscpy_s вместо wcscpy, помеченной как "deprecated"
SysFreeString(bstr); // скопированную уже BSTR-строку теперь можно корректно удалить
*/
 
USES_CONVERSION;
string strDesc = static_cast<CHAR*>(CW2A(bstr));
 
 string LDAP="LDAP://";
 string path = LDAP + strDesc;  
 wstring wstr( path.begin(), path.end() );
// const char *path1 = path.c_str();
 
LPCTSTR path2 = W2CT( wstr.c_str( ) );
 //LPCWSTR path2 = (LPCWSTR)wstr;
hr = ADsGetObject( path2, IID_IADs,(void**)&pUsr);
 
VARIANT userPrincipalName;
VariantInit(&userPrincipalName);
hr = pUsr->Get(CComBSTR("userPrincipalName"), &userPrincipalName );
/*if ( SUCCEEDED(hr) )
{
    printf("userPrincipalName: %S\n", V_BSTR(&userPrincipalName) );
    VariantClear(&userPrincipalName);
} */
return userPrincipalName;
}
extern "C" __declspec(dllexport) VARIANT Group ()
{
    HRESULT hr;
    IADsADSystemInfo *pADsys;
BSTR bstr;
CoInitialize(NULL);
 hr = CoCreateInstance(CLSID_ADSystemInfo,
                              NULL,
                              CLSCTX_INPROC_SERVER,
                              IID_IADsADSystemInfo,
                             (void**)&pADsys);
 hr = pADsys->get_UserName(&bstr);
    IADs *pUsr=NULL;
 /*int length = SysStringLen(bstr);        // определяем длину BSTR
wchar_t *myString = new wchar_t[length+1]; // используем "+1" т.к. SysStringLen не учел nul в конце строки
wcscpy_s(myString ,wcslen(myString ), bstr); // копируем, используя безопасную wcscpy_s вместо wcscpy, помеченной как "deprecated"
SysFreeString(bstr); // скопированную уже BSTR-строку теперь можно корректно удалить
*/
 
USES_CONVERSION;
string strDesc = static_cast<CHAR*>(CW2A(bstr));
 
 string LDAP="LDAP://";
 string path = LDAP + strDesc;  
 wstring wstr( path.begin(), path.end() );
// const char *path1 = path.c_str();
 
LPCTSTR path2 = W2CT( wstr.c_str( ) );
 //LPCWSTR path2 = (LPCWSTR)wstr;
hr = ADsGetObject( path2, IID_IADs,(void**)&pUsr);
 
VARIANT var;
VariantInit(&var);
hr = pUsr->Get(CComBSTR("memberOf"), &var );
return var;
}
extern "C" __declspec(dllexport) void out(VARIANT  var)
{
    HRESULT hr;
    LONG lstart, lend;
    SAFEARRAY *sa = V_ARRAY( &var );
    VARIANT varItem;
 
    // Get the lower and upper bound.
    hr = SafeArrayGetLBound( sa, 1, &lstart );
    hr = SafeArrayGetUBound( sa, 1, &lend );
 
    // Iterate and print the content.
    VariantInit(&varItem);
    printf("Getting service dependencies using IADs :\n");
    for ( long idx=lstart; idx <= lend; idx++ )
    {
        hr = SafeArrayGetElement( sa, &idx, &varItem );
        printf("%S ", V_BSTR(&varItem));
        VariantClear(&varItem);
    }
    printf("\n");
 
    VariantClear(&var);
}
и есть код на vb 6.0
C++
1
2
3
4
5
6
Private Declare Function sAMAccountName Lib "C:\Users\1\Documents\Visual Studio 2012\Projects\ConsoleApplication18\Debug\ConsoleApplication18.dll" () As Integer
 
Private Sub Command1_Click()
Dim s As String
s = sAMAccountName
End Sub
при запуске просто зависает и все,помогите пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru