|
|
|
ANY vs HRESULT
|
|||
|---|---|---|---|
|
#18+
Имеется ф-я: HRESULT connect( BSTR serverAddress , BSTR userName , BSTR password ) Описание типа HRESULT Вызов функции: integer result any qq OLEObject myoleobject myoleobject = CREATE OLEObject result = myoleobject.ConnectToNewObject( "DFAPILib.Database") if result<> 0 then MessageBox("Error", result) end if qq=myoleobject.connect("MSFO:17170","sysadmin","") if isNULL(ClassName(qq) ) then MessageBox("Error", 'NULL') end if Проблема в том, что переменная qq принимает значение NULL, а судя по описанию должно сопоставить возвращаемому значению тип long. Можно было бы предположить, что происходит ошибка при вызове функции qq=myoleobject.connect("MSFO:17170","sysadmin",""), но открывается диалоговое окно подключения к базе -> обращение к функции было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2008, 16:44 |
|
||
|
ANY vs HRESULT
|
|||
|---|---|---|---|
|
#18+
pb_new Описание типа HRESULT Этот тип представляет собой 32-битное число. это ulong или long. при чем тут чисто билдеровское Any к явно внешнему OLE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2008, 19:02 |
|
||
|
ANY vs HRESULT
|
|||
|---|---|---|---|
|
#18+
В случае указания для переменной qq типа ulong(long)получаю сообщение: Error: Cannot convert oleobject in Any variable to unsignedlong(long) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 08:54 |
|
||
|
ANY vs HRESULT
|
|||
|---|---|---|---|
|
#18+
а кто это "DFAPILib" ? гугл вообще такого не находит. где описание того что эта ф-ция возвращает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 09:01 |
|
||
|
ANY vs HRESULT
|
|||
|---|---|---|---|
|
#18+
Dmitry.а кто это "DFAPILib" ? гугл вообще такого не находит. где описание того что эта ф-ция возвращает? Описание в самом начале первого поста. Более полное: Подключиться к серверу базы данных. HRESULT connect( BSTR serverAddress , BSTR userName , BSTR password ) Параметры serverAddress [in] задаёт адрес сервера, к которому производится подключение userName [in] задаёт имя зарегистрированного на сервере пользователя password [in] задаёт пароль зарегистрированного на сервере пользователя Возвращает S_OK в случае успеха E_DF_CONNECTING если не удалось подключиться к серверу E_DF_CONNECTED если уже было произведено подключение к серверу E_DF_INVALID_FORM_STG если не удалось открыть хранилище форм Примечание Открывает сеанс работы пользователя с сервером базы данных. Здесь , описание кодов которые могут содержаться в типе HRESULT. Задача: Получить значение в PB возвращаемое функцией connect. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 09:16 |
|
||
|
ANY vs HRESULT
|
|||
|---|---|---|---|
|
#18+
long или decimal должен подойти ulong не подходит т.к. есть отрицательные значения Воспользуйтесь функцией IsNull при конвертации Но не Код: plaintext Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 10:48 |
|
||
|
ANY vs HRESULT
|
|||
|---|---|---|---|
|
#18+
spas2001Но не Код: plaintext Внимательнее плз, ConnectToNewObject возвращает именно integer. что за oleobject возвращает myoleobject.connect пока не понятно. Что это за ole вообще? примеры на каком-нибудь языке к нему есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 14:06 |
|
||
|
ANY vs HRESULT
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрей spas2001Но не Код: plaintext Внимательнее плз, ConnectToNewObject возвращает именно integer. что за oleobject возвращает myoleobject.connect пока не понятно. Что это за ole вообще? примеры на каком-нибудь языке к нему есть? Сорри, просмотрел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 14:39 |
|
||
|
ANY vs HRESULT
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрей что за oleobject возвращает myoleobject.connect пока не понятно. Что это за ole вообще? примеры на каком-нибудь языке к нему есть? Если не ошибаюсь на VC++. Приложил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 15:18 |
|
||
|
ANY vs HRESULT
|
|||
|---|---|---|---|
|
#18+
Ну вот я смотрю на testDocumentCreation Так там же явно же возвращаемое значение игнорируется и весь код завернут в try... catch... 1) не надо пытаться ловить HRESULT 2) вместо системного OLEObject использовать свой унаследованный от стандартного в котором прописать обработку событий externalexception и error . 3) весь код после ConnectToNewObject обернуть в try... catch... end try (пока для отладки можно ловить все вплоть до Throwable) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2008, 16:42 |
|
||
|
ANY vs HRESULT
|
|||
|---|---|---|---|
|
#18+
Пока не совсем понятно. Допустим мне нужно уведомить пользователя, что уже было произведено подключение к серверу(для конкретного пользователя, в текущий момент времени, возможно только одно подключение) . Функция connect должна вернуть код E_DF_CONNECTED. Предлагаемый механизм, насколько я понимаю, может только отловить ошибку и обработать. В данном случае ошибки не происходит. Должно использоваться событие externalexception? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2008, 13:23 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=35062804&tid=1336840]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 138ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...