|
тип данных sword.
|
|||
---|---|---|---|
#18+
sword OCIClientVersion ( sword *major_version, sword *minor_version, sword *update_num, sword *patch_num, sword *port_update_num ); А какой тип данных аналог для "sword" в PB ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 08:27 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Это меч Вообще-то это не стандартный тип, и искать его определение нужно где-то там, где и OCIClientVersion объявлено. В качестве гипотезы sword расшифровывается как short word, что по традиции для платформы Intel должно быть равно 1 байту (хотя для 32-битных процессоров на самом деле 2 байта). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 09:22 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Функция входит в OCI.DLL. Пробовал в PB обявить аргументы как int, uint, char, ulong, string. Ругается на различие типов в прототипе и при вызове. Куда теперь копать. Вообще-то задача стоит так: определить версию ORACLE-клиента и поместить ее в sys_context. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 09:39 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Может проще Тынц ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 10:11 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
altero пишет: > Функция входит в OCI.DLL. > Пробовал в PB обявить аргументы как int, uint, char, ulong, string. Надеюсь, понятно, что аргументы нужно передавать по ссылке? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 10:44 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Dim2000, FUNCTION char OCIClientVersion( ref char major_version, ref char minor_version, ref char update_num, ref char patch_num, ref char port_update_num ) LIBRARY "OCI.DLL" ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 12:13 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
spas2001, Как вариант ДА . А если на клиенте кроме OCI-mini ничего нет. sqlplus в том числе. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 12:15 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Так у OCI считайте version ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 14:00 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
spas2001, FUNCTION char OCIClientVersion( ref char major_version, ref char minor_version, ref char update_num, ref char patch_num, ref char port_update_num ) LIBRARY "OCI.DLL" несоответствие типов..... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 14:13 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Просто версию файла опросите ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2010, 17:57 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
alterospas2001, FUNCTION char OCIClientVersion( ref char major_version, ref char minor_version, ref char update_num, ref char patch_num, ref char port_update_num ) LIBRARY "OCI.DLL" несоответствие типов..... 1) Если вы объявили ф-ю fn(ref char arg), то передать туда вы можете только переменную типа char. При попытке передать что-то другое будет ошибка компиляции о несоответствии типов 2) Тип sword в OCI объявлен как signed int (32-битное знаковое целое для платформы x86 в которой работает PB), и эквивалентен типу long в PB. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2010, 00:21 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
spas2001Просто версию файла опросите Точно. По слухам OCIClientVersion есть только начиная с 10 оракла. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2010, 00:38 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
вместо sqlplus можно пользовать tnsping: http://decipherinfosys.wordpress.com/2007/02/10/checking-for-oracle-client-version-on-windows/ если sword описан как signed int , то согласен с Анатолием, вместо ref char надо пользовать ref long ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2010, 01:14 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Молодежь со старыми версиями не работала:) ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2010, 08:36 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Dmitry.., // вместо ref char надо пользовать ref long Пробовал.. Не подходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 21:28 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
spas2001, Молодеж... может что-нибудь по существу сказать? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 21:31 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Если правой кнопочкой по файлу щелкнуть можно посмотреть дополнительные параметры Считать FileVersionInfo через структуру думаю особой сложности не составит ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 22:15 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Когда с реестром работал вообще-то использовал blob для конвертации word-параметров, можно покопать в этом направлении, если нет придется написать обертку на C++ ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 22:19 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
spas2001, Sorry. Прошу без обид. Надо просто из API-клиента узнать - какой версии клиент-Oracle у него. Вроде бы самый подходящий - Вызов OciClientVersion(). Проблема с ref типами. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 22:35 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Какие обиды, это-то тут причем Просто сейчас не с Oracle работаю, даже глянуть негде Поэтому и советую по памяти. Он же заточен под Linux, поэтому обязательно где-то лежит файлик с версией. В programm files\oracle должен лежать инвентори(он туда начиная с 8-ки по-любому пишет), если через FileVerionInfo не прокатывает, можно посмотреть там ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 22:57 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Через OCI тоже можно, если обработать исключения ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 22:58 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Я вот про это говорил Тынц ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 23:05 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
выкладывай сюда обьявление ф-ции в билдере как ты ее вызываешь и что за ошибка при вызове ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2010, 23:09 |
|
тип данных sword.
|
|||
---|---|---|---|
#18+
Ржаки, че-то я сразу не обратил внимания. OCIClientVersion это ф-я с типом передачи аргументов CDECL, т.е. вызываемая ф-я не очишает аргументы из стека. А PowerBuilder поддерживает только STDCALL, т.е. с очисткой стека. В случае если попытаться вызвать таки ф-ю типа CDECL, то из-за отсутствия сдвига вершины стека PowerBuilderу кажется, что вызывали ф-ю без аргументов, хотя в декларации указаны аргументы. В этой ситуации PB выдает ошибку в runtime. Встроенными средствами PB вашу ф-ю нельзя вызвать. У меня есть библиотека для вызова таких функций из PB, но она платная. Проще воспользоваться советом выше и определить версию DLL используя GetFileVersionInfo. Пример ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2010, 04:37 |
|
|
start [/forum/topic.php?fid=15&fpage=28&tid=1336036]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 332ms |
total: | 462ms |
0 / 0 |