|
|
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Всем привет! Есть задача: Перебрать PBL-ки в папке и вывести номер SCC-version для каждого объекта. Ф-ции LibraryDirectory и LibraryDirectoryEx не выводят этой инфы ... Powerbuilder 10.5 Спасибо ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 15:49 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Не понял, а какое отношение PBL имеет к SCC-version объекта? Или в переводе на русский - за каким .... это нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 16:18 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Не знаю поможет ли это, но если workspace подключен в SCC то в его каталоге есть файл .PBC в котором имена объектов и их локальные версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 16:28 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
2 Филипп А за таким ... : Хочу вывести список объектов, котрые нужно обновить и которые залочены в SCC. Я конечно может не так выразился, но если клацнуть правой кнопкой мыши на объекте и выбрать "Properties ...", то в окне "Properties" в есть поле "SCC Version", которое как раз и отображает локальную версию объекта. Эта версия сравнивается с версией на сервере из файла PRP. 2 Anatoly Moskovsky Мне кажется, что этот номер хранится где то в заголовке PBL для каждого объекта, а файл PBC больше похож на лог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 16:54 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
PaulJBМне кажется, что этот номер хранится где то в заголовке PBL для каждого объекта, а файл PBC больше похож на лог. Да, я посмотрел - действительно, в PBL хранится номер ревизии, а в .PBC тоже, но не всегда актуальный (но точно не лог). Если подождете несколько дней, то я добавлю в PBLDump возможность прочитать данные SCC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 17:12 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
2 Anatoly Moskovsky Да, это было бы очень полезно. А может поделитесь инфой - как правильно распарсить заголовок? (если это возможно) ;) Просто не хочется запускать для каждой библиотеки PBLDump. Библиотек много. EMail в профиле. Спасибо. З.Ы. Отдельное спасибо за PBLDump - очень выручает ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 17:19 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
PaulJB 2 Филипп А за таким ... : Хочу вывести список объектов, котрые нужно обновить и которые залочены в SCC. Я конечно может не так выразился, но если клацнуть правой кнопкой мыши на объекте и выбрать "Properties ...", то в окне "Properties" в есть поле "SCC Version", которое как раз и отображает локальную версию объекта. Эта версия сравнивается с версией на сервере из файла PRP. Всё равно непонятно зачем. Ко всему прочему, в общем случае (то бишь если вы используете настоящий SCC provider, а не PBNative) поле "SCC Version" не отображает ничего, а если клацнуть правой кнопкой мыши на объекте и выбрать "SCC Properties", то в окне, которое откроет настоящий SCC provider (а не РВ), и будет видна интересующая вас информация об локальном экспорте и его состоянии в репозитории настоящего SCC providerа :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 17:39 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
PaulJB 2 Anatoly Moskovsky А может поделитесь инфой - как правильно распарсить заголовок? (если это возможно) ;) Готового описания нету, только исходники. Но их я еще не готов открывать. Просто не хочется запускать для каждой библиотеки PBLDump. Библиотек много. Могу сделать DLL с ф-ей ExportSCCData(string pbl, ref blob buf) Далее надо будет парсить полученный блоб: считать идущие парами SZ строки ("имя объекта", "ревизия") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 17:51 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
ФилиппКо всему прочему, в общем случае (то бишь если вы используете настоящий SCC provider, а не PBNative) поле "SCC Version" не отображает ничего Ничего подобного. Нормальные провайдеры делятся этой инфой с Билдером :). У меня ПБ показывает версию непосредственно в Library Painter. PaulJBкак правильно распарсить заголовок? http://dwox.com/PBL_File_Format.txt но эта инфа для неюникодовых pbl/pbd ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 18:54 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Dmitry. ФилиппКо всему прочему, в общем случае (то бишь если вы используете настоящий SCC provider, а не PBNative) поле "SCC Version" не отображает ничего Ничего подобного. Нормальные провайдеры делятся этой инфой с Билдером :). У меня ПБ показывает версию непосредственно в Library Painter. А я уже на втором месте работы пользуюсь самым нормальным, то-бишь Perforcом . Он не делится :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 20:44 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Dmitry.http://dwox.com/PBL_File_Format.txt но эта инфа для неюникодовых pbl/pbd Автор говорит "valid thru PB5-11". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2007, 22:46 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyМогу сделать DLL с ф-ей ExportSCCData(string pbl, ref blob buf) Далее надо будет парсить полученный блоб: считать идущие парами SZ строки ("имя объекта", "ревизия") Это pbldump с поддержкой SCC: http://sqlbatch.com/t/dl.cgi?prod=pbl_dump&id=beta А приложенный к этому сообщению архив содержит DLL и PB wrapper для чтения SCC data. Cм. ф-ю of_ReadSCCData. Она возвращает блоб по имени библиотеки или null если SCC data отсутствует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2007, 02:30 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Огромное спасибо всем откликнувшимся ! Ща буду качать и тестить ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 09:18 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Под 11 билдером ф-ция readSCCData(...) вызывает ошибку: AppName: pb110.exe AppVer: 11.0.0.6525 ModName: pbshr110.dll ModVer: 11.0.0.7549 Offset: 000ebdf7 Посмотрите плиззз .... PblDump работает нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 10:54 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Кстати, не хочу разочаровывать, но ИМХО, чтение SCC из библиотеки не поможет. Я тут проверил под PBNative что в PBL хранится и, оказалось, что там нет ничего :) А вот с SCC PushOK+SVN - хранится список версий. Так что может быть с Вашей SCC не проканает данный хак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 10:57 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
PaulJBПод 11 билдером ф-ция readSCCData(...) вызывает ошибку: AppName: pb110.exe AppVer: 11.0.0.6525 ModName: pbshr110.dll ModVer: 11.0.0.7549 Offset: 000ebdf7 Посмотрите плиззз .... PblDump работает нормально. Она ANSI. Надо добавить модификатор ALIAS FOR "readSCCData;ANSI" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 10:58 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyОна ANSI. Надо добавить модификатор ALIAS FOR "readSCCData;ANSI" А, не. Не только. Надо еще размер буфера расчитывать по другому. Он возвращается в байтах, а выделяется в символах, которые в 11 равны 2 байтам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 11:01 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyНадо еще размер буфера расчитывать по другому. Он возвращается в байтах, а выделяется в символах, которые в 11 равны 2 байтам Вместо Код: plaintext Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 11:13 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
2 Anatoly Moskovsky >>Кстати, не хочу разочаровывать, но ИМХО, чтение SCC из библиотеки не поможет. >>Я тут проверил под PBNative что в PBL хранится и, оказалось, что там нет ничего :) Мы юзаем как раз PBNative - все есть :) и даже изменяется. Только что проверил (вашей утилитой тоже - отображает). Так что вестчь для меня остаётся актуальной. >> Надо добавить модификатор ALIAS FOR "readSCCData;ANSI" Про это я сразу подумал. Помогло частично - перестало вываливаться. Не могу победить следующее (комменты под строками кода - значения переменных): ll_ret = readSCCData( as_pbl, lbb_buf, ll_size) // ll_size = 1645 If ll_ret = 0 And ll_size > 0 Then lbb_buf = Blob(Space(ll_size),EncodingANSI!) // len(lbb_buf ) = 1645 ll_ret = readSCCData(as_pbl, lbb_buf, ll_size) // len( lbb_buf ) = 1645 // string( lbb_buf ) = '[][]nvo.sct.sru' // string( lbb_buf,EncodingANSI! ) = 'SCC*n' // len(string( lbb_buf,EncodingANSI! )) = 5 ... Else ... End If ... Вот такая колбаса ... Може я чего не так делаю ? Вы говорили, что можете сделать DLL. Если не сложно - сделайте пожалуйста :) Если сделаете, то вышлите на PaulJB@ukr.net. Буду очень благодарен :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 12:36 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
PaulJB Не могу победить следующее (комменты под строками кода - значения переменных): Пришлите мне в почту пример PBL с Вашими SCC данными. Вечером посмотрю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 14:13 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
PaulJBВы говорили, что можете сделать DLL. Если не сложно - сделайте пожалуйста :) Гы. Так я и сделал. И у меня работает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 14:15 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
2 Anatoly Moskovsky >> Гы. Так я и сделал. Извините, барин - не признали :)) >>И у меня работает :) Под 10 и 11 версиями работает ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 15:17 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
PaulJB>>И у меня работает :) Под 10 и 11 версиями работает ? Не пробовал. Вечером попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 16:31 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
2 Anatoly Moskovsky >>Не пробовал. Вечером попробую. Спасибо большое. Если у вас будет работать, тогда буду думать над пересылкой PBL, ибо проблематично это .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2007, 16:48 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Приложен архив с уникодной DLL и оберткой. Юзать следующим образом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. PS. Действительно чего-то ANSI версия мусор выдавала с уникодным PB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 00:12 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
>> Приложен архив с уникодной DLL и оберткой. ... Большое спасибо! Чуть позже скачаю и проверю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 10:38 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Блин ... я наверно Вас замучил ... :( Под 11 версией не работает и наверно под 10 тоже ... . При вызове readSCCData(as_pbl, lbb_buf, ll_size) выдаёт: AppName: pb110.exe AppVer: 11.0.0.6525 ModName: pbshr110.dll ModVer: 11.0.0.7549 Offset: 000ebdf7 Если в n_cst_pblutils в Declare Local ... вместо: Function long readSCCData(readonly String as_pbl, ref blob data, ref long al_time) Library "pblutils" alias for "readSCCDataW" поставить: Function long readSCCData(readonly String as_pbl, ref blob data, ref long al_time) Library "pblutils" alias for "readSCCData;Ansi" не вываливаеццо, но выдаёт известную ерунду ... :( Мечтательно: Ееех ... а так хочеццо сделать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 18:14 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Я проверял на 10. Работает именно в таком виде как я выслал. 11 - нету, не могу проверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 18:20 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
Шайтан шайтан ... !!! Создал новое приложение под 11, вставил вызов функции - все работает. В моем приложении - не работает. Правда ... я использую еще в своей программе KODIGO. ... наверно дело в этом ... буду копать дальше. Спасибо большое за вашу DLL-ку :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2007, 18:56 |
|
||
|
Как узнать версию объекта в библиотеке ?
|
|||
|---|---|---|---|
|
#18+
2 Anatoly Moskovsky Как говориццо: "Дело было не в бобине - д#*@#$б сидел в кабине" ( это я про себя ... ) :) Указанное выше (в предыдущих постах) сообщение об ошибке ПБ выдавал, когда не находил pblutils.dll при вызове ф-ций. В одном месте кода я изменял текущую папку с помощью ChangeDirectory( ... ), а потом вызывал of_ReadSCCData(...). Методом последовательного перебора глюк был отловлен и устранен. :) Еще раз - Большое спасибо за помощь ! Война закончилась ... всем спасибо ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2007, 12:22 |
|
||
|
|

start [/forum/topic.php?all=1&fid=15&tid=1336925]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 169ms |

| 0 / 0 |

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