|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Есть PBNIWizard (в комплекте PB10.5), но как понимаю старый, т.к. инстал при старте выдает ошибку: --------------------------- Windows Script Host --------------------------- Сценарий: C:\Program Files (x86)\Sybase\PowerBuilder 10.5\SDK\PBNI\Wizards\VCWizards\PBNIWizard8\install.wsf Строка: 7 Символ: 8 Ошибка: Неверная ссылка на корень в разделе реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VC\ProductDir". Код: 80070002 Источник: WshShell.RegRead ------------------------- На ПК VS2017, NET 4.6, W7 (64). Что сделать, чтобы установить PBNIWizard и пользоваться? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 11:03 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Он на директорию похоже ругается Попробуйте поставить в корень диска C: ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 11:58 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
spas2001Он на директорию похоже ругается Попробуйте поставить в корень диска C: Эт я понимаю. Возможно будет достаточно в файлах deploy.bat и install.wsf скорректировать соответствующие названия и значения переменных, по аналогии различий между одноименными файлами в каталогах PBNIWizard (7.0) и PBNIWizard8 (8.0). В первом ссылка на: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.0\Setup\VC\ProductDir" а во втором ссылка на: "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VC\ProductDir" Но у меня VS2017 (15.0) и W7 (64) и такого раздела реестра нет. К тому же, в обоих вариантах файлов указывается соответственно: "C:\Program Files\Microsoft Visual Studio 7" "C:\Program Files\Microsoft Visual Studio 8" а у меня скорее всего надо указать: "C:\Program Files (x86)\Microsoft Visual Studio" а может и продолжить путь по имеющейся цепочке: "C:\Program Files (x86)\Microsoft Visual Studio\2017" т.к. другого не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 12:22 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
AIS, возможно я не прав, но судя по всему проблема в несовместимости 32/64 битных приложений. Как вариант, смоделировать ситуатуцию на 32 виртуалке. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 17:14 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Сам создай ключи, в чем проблема? Ну и поставить соота=ветственно VC 7.0 и 8.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 21:13 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
spas2001Сам создай ключи, в чем проблема? Ну и поставить соота=ветственно VC 7.0 и 8.0 Проблема в том, что для VS2017 не знаю куда, что прописывать, чтобы была "правильная" связь с РВ (установка PBNI). Задачу решил установкой VS2015. Хотя для него чуть пришлось пути допилить (таки W7 и х64 в тандеме дали свое Г), но все получилось. ПС. Конечно жалко, что такое с VS2017 не получилось, да и хрен с ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2017, 22:45 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Подниму тему, нужен совет или комментарий по опыту. Сделал внешнее решение одной и той же задачи при помощи DLL с экспортированной функцией и через PBX. И то и другое работает. Возник вопрос: Что предподчительней использовать в проекте DLL или PBX? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2018, 12:46 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
AIS, C PBNI больше возможностей. Например можно напрямую обращаться к объектам и вызывать функции ПБ из С++. Но с ним больше мороки по поддержке при выходе новых версий ПБ. Так что если возможностей DLL хватает то есть смысл именно этот вариант использовать, а перейти на PBNI только когда вознитнет необходимость. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2018, 16:37 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky, Спасибо за совет. Да, согласен, с PBX хлопот больше, но есть и не малые плюсы. На счет проблем с выходом новых версий РВ, то это наверное решающий фактор, т.к. в последних версиях PBX уже не идет в комплекте, а ориентир на VS, если я не ошибаюсь. А если смотреть с точки зрения защиты кода, т.е. спрятать, то DLL снова проигрывает, или без разницы? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2018, 17:20 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
AISА если смотреть с точки зрения защиты кода, т.е. спрятать, то DLL снова проигрывает, или без разницы? Без разницы. И то и то - DLL ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2018, 21:48 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyAISА если смотреть с точки зрения защиты кода, т.е. спрятать, то DLL снова проигрывает, или без разницы? Без разницы. И то и то - DLL С этим, конечно, не спорю. Но если только просто поверхностно взглянуть на экспортируемые функции DLL и PBX, то это большая разница: у DLL - все как на ладони*, а у PBX - уй поймешь* о чем они. Не правда ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2018, 22:52 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Создаю в PBX функцию вычисления MD5 из переданного строкового аргумента: MD5 не работает с входящим аргументом Код: plaintext 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.
Где ошибка или как правильно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 10:40 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
AIS Код: plaintext 1.
data - указатель на строку в кодировке ANSI lptheInput - указатель на строку в кодировке Unicode (UTF-16) Во-первых, нельзя так принудительно менять тип, не преобразовав данные (там потом следующий strlen() неверно отрабатывает, и может еще какие-то эффекты). Во-вторых, вам надо решить в каком формате вы будете строку передавать в MD5 (UTF-16 или UTF-8). ANSI - не всегда годится, т.к. будут потери символов не входящих в текущую кодовую страницу. В-третьих, надо помнимать что MD5 от одной и той же строки в ANSI, UTF-16 и в UTF-8 будут разные. Эта тема уже обсуждалась где-то здесь. Мое мнение - если MD5 потом передается в третьи приложения, то лучше UTF-8, т.к. для английского текста ANSI и UTF-8 совпадают, т.е. больше вероятность совместимости. В любом случае предлагаю преобразование кодировки делать на стороне ПБ функцией Blob() со вторым параметром - кодировкой. А в модуль передавать blob и его длину, и уже его хешировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 12:34 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky, премного благодарен, таки да, с blob и UTF-8 все встало на свои места. Еще буквально недавно Вы мне это же советовали в другой ситуации, видать не внял, все string примеряю...)) Спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2018, 18:02 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Еще вопрос, на который не могу найти ответа. Получаю в PB экземпляр класса и передаю его в PBNI: Код: sql 1. 2. 3.
а как потом получить свойства класса на стороне PBNI? Например, lcd.LibraryName. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2018, 11:53 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
См. документацию по PBNI: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 09:18 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
avs63См. документацию по PBNI: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Да вроде читал... Для начала у меня не получается даже fid получить. Так как в доках выдает ошибку, а если так: Код: plaintext 1. 2. 3.
то получаю UndefinedFieldID. В чем причина? РВ10.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 11:21 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Упс, нашел ошибку. Все работает. Всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 12:19 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
AISЕще вопрос, на который не могу найти ответа. Получаю в PB экземпляр класса и передаю его в PBNI: Код: sql 1. 2. 3.
а как потом получить свойства класса на стороне PBNI? Например, lcd.LibraryName. Да, если передаю в PBNI параметром lcd, то могу получить lcd.LibraryName. А как получить LibraryName ничего вообще не передавая на PBNI? Вот например: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Что не так? Можно ли таким способом получить LibraryName? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 22:41 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
AISЧто не так? Вот так нельзя делать: Код: sql 1.
Все такие места в коде надо заменить на Код: sql 1.
И вообще, если у вас в коде есть конструкция (тип) перед выражением, то там скореее всего проблема. Лучше заменить ее на конструкцию static_cast<тип>(выражение). Тогда компилятор сам подскажет вам когда нельзя так делать )) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 13:37 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky, спасибо за помощь, поменял. Теперь получилось получить, например, значение свойства "displayname" приложения. А вот дальше не могу понять, что делать, чтобы получить свойство "classdefinition" приложения, которое является объектом, и далее получить из него значение LibraryName. Если есть возможность, то подскажите хоть схематически, как это делается. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 14:38 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
AIS, Что-то типа этого. (Только добавить проверки на успешность выполнения) Код: plaintext 1. 2. 3.
Если это не сработает, то приведите ваш код - может по нему что-то будет видно. У меня нет Винды с ПБ под рукой, поэтому больше ничем помочь не могу, кроме проверки вашего кода в форуме )). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 19:30 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
А вообще, classdefinition это же свойство объекта, а не класса. Поэтому вам надо этот объект (приложение?) передать в pbni, и для него вызывать GetFieldID и GetObjectField ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 19:35 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky, PB: событие "open" приложения Код: sql 1. 2. 3.
PBX: после корректировки Код: plaintext 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.
А дальше не пойму как получить из PBX значение libraryname, который в РВ в событии "open" приложения можно получить так: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2018, 10:06 |
|
PBNI Wizard
|
|||
---|---|---|---|
#18+
AIS, Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2018, 15:53 |
|
|
start [/forum/topic.php?fid=15&msg=39495818&tid=1335114]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 254ms |
total: | 406ms |
0 / 0 |