Помогите разобраться с API

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

K-9
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 6
Зарегистрирован: 21.09.2008 (Вс) 18:17

Помогите разобраться с API

Сообщение K-9 » 21.09.2008 (Вс) 19:02

Передо мной стоит задача!!!
Необходимо используя API функции программы (может быть слышали - PLM:Лоцман), написать приложение!!!
Я, как и водится, написал ТЗ и проектное решение под систему!!!
Программа работает в трехзвенке!!!

Так вот!!! Все конечно отлично, но я ни когда не разрабатывал подобных приложений!!!
Могу работать с БД напрямую, но мне мягко говоря, не позволяет начальство!!!
Почитав Инфу по API программы, я узнал, что для того чтобы использовать API на клиенте,
необходимо запустить механизм делегирования!!!
И после этого только можно использовать API компанента программы!!!
COM+ компанент располагается на Windows Server 2003!!!

Поскажите Пожалуйста, как это можно сделать???
Заранее благодарен!!!
Моя высокая звезда, на небе словно Солнце!!!
Её не видна не фига ... за грудой толстых ...!!!
Так вьипием, за тхо штоб всэгъда вьидна она биля!!! За тэбя Ара!!!

K-9
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 6
Зарегистрирован: 21.09.2008 (Вс) 18:17

Re: Помогите разобраться с API

Сообщение K-9 » 22.09.2008 (Пн) 20:32

Нашел интересную штуку!!!
Типа разработчики предлагают использовать функцию CoInitializeSecurity!!!
Нашел её в библиотечке ole32.dll!!!
Пока еще не могу понять - можно ли вообще это использовать в NET??? :roll:

Покапался малость в инете, но пока результатов NULL!!!
Людииииииииииииии, где вы???
Моя высокая звезда, на небе словно Солнце!!!
Её не видна не фига ... за грудой толстых ...!!!
Так вьипием, за тхо штоб всэгъда вьидна она биля!!! За тэбя Ара!!!

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Помогите разобраться с API

Сообщение Williams » 22.09.2008 (Пн) 20:38

Если это то, что именно тебе нужно:
Код: Выделить всё
Declare Function CoInitializeSecurity Lib "ole32.dll" (pVoid As IntPtr, _
   cAuthSvc As Integer, asAuthSvc() As SOLE_AUTHENTICATION_SERVICE, _
   pReserved1 As IntPtr, dwAuthnLevel As Integer, dwImpLevel As Integer, _
   pAuthList As IntPtr, dwCapabilities As Integer, pReserved3 As IntPtr) As Integer

Structure SOLE_AUTHENTICATION_SERVICE
   Public dwAuthnSvc As Integer
   Public dwAuthzSvc As Integer
   <MarshalAs(UnmanagedType.BStr)> Public pPrincipalName As String
   Public hr As Integer
End Structure
И вы думаете, что вас оставят в живых после прочтения этого поста?

K-9
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 6
Зарегистрирован: 21.09.2008 (Вс) 18:17

Re: Помогите разобраться с API

Сообщение K-9 » 22.09.2008 (Пн) 20:44

Спасибо!!! Завтра попробую!!! :lol: Мож чего и получитси!!! Очень на это надеюсь!!!
Если получитси!!! 100% выложу весь код сюда ... - не получится тожа ...!!! :D

Кстати!!! А что означает вот эта вот строчечка???

<MarshalAs(UnmanagedType.BStr)> Public pPrincipalName As String
Моя высокая звезда, на небе словно Солнце!!!
Её не видна не фига ... за грудой толстых ...!!!
Так вьипием, за тхо штоб всэгъда вьидна она биля!!! За тэбя Ара!!!

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Re: Помогите разобраться с API

Сообщение Viper » 23.09.2008 (Вт) 7:20

K-9 писал(а):Кстати!!! А что означает вот эта вот строчечка???
Код: Выделить всё
<MarshalAs(UnmanagedType.BStr)> Public pPrincipalName As String
Строчечка эта указывает, что данное поле структуры будет восприниматься при передаче в API-функцию как BString.
Весь мир матрица, а мы в нем потоки байтов!

K-9
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 6
Зарегистрирован: 21.09.2008 (Вс) 18:17

Re: Помогите разобраться с API

Сообщение K-9 » 23.09.2008 (Вт) 21:47

Капаюсь дальше!!!

При написании вот такой вот строчечки:

Dim PLM As Object
PLM = CreateObject("LoodsmanServerApplication","Galeon")
Пишет ошибку:
Cannot create ActiveX component!!!

Я так понял, что по этой функции (CreateObject), в которой я указываю имя
ActiveX компонента и имя сервера приложений, он то (компонент) и должён
сработать и дальше отослать меня к той злаполучной dll-ке, из которой я должен
получить необходимые мне API!!! Но ни чего не происходит!!!

И еще такой вопросик!!! Можно ли в VB2008 установить DCOM соединение с
сервером или в VB.NET можно только по SOCETу соединяться???
Моя высокая звезда, на небе словно Солнце!!!
Её не видна не фига ... за грудой толстых ...!!!
Так вьипием, за тхо штоб всэгъда вьидна она биля!!! За тэбя Ара!!!

K-9
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 6
Зарегистрирован: 21.09.2008 (Вс) 18:17

Re: Помогите разобраться с API

Сообщение K-9 » 20.10.2008 (Пн) 22:01

Всем привет!!! Я разобрался со всеми проблемами и теперь могу спокойно испльзовать COM компанент LoodsmanAppServerMain!!!
Шуткали сказать, сколько пришлось всего сделать и испробывать!!!
Зато теперь ни каких проблем!!! Все работает!!!
Причем все намного проще было сделать, чем в Delphi!!! (Есть пример кода)
Вот!!!
Завтра выложу сам код!!!

А сейчас такой вопрос!!! Как сделать так, чтобы в дереве объектов (для его построения я использую компанент TreeView) перед названием объекта,
можно было бы собирать последовательно три значка???
К примеру, для каждого объекта в дереве имеется три типа значков!!!
1. Состояние (закрыт для использования или открыт)
2. Тип проекта (архив, утвержден, согласован и т.д.)
3. Тип объекта (сборочная единицаб деталь и т.п.)

Как эти три значка собрать вместе и отобразить и дереве???
Пожалуйста помогите разобраться!!!
Моя высокая звезда, на небе словно Солнце!!!
Её не видна не фига ... за грудой толстых ...!!!
Так вьипием, за тхо штоб всэгъда вьидна она биля!!! За тэбя Ара!!!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

    TopList