|
|
|
PowerBuilder; DataStore; SetTrans; Error; Ошибка
|
|||
|---|---|---|---|
|
#18+
Привет всем! Есть жуткая ошибка в PB, причём я впервые наблюл её на 6-м. С тех пор она кочует из версии в версию и только обрастает подробностями. Поиск на Форуме по сабжам не дал ничего. Эта плюха проявляется в DataStore. Код элементарен: DATASTORE ds ds = CREATE DataStore ds.DataObject = 'd_emp' ok = ds.SetTransObject( sqlca ) q = ds.Retrieve() q возвращает НОЛЬ !!! При этом соответствующее DataWindow совершенно невинное, прямое как палка и работает как часы. Чуть-чуть истории. Впкрвые я столкнулся с этим на 6-м. Там было композитное dw, состоявшее из трёх: хедер, табличная часть и футер. И вот на некоторых распечатках ТАБЛИЦА БЫЛА ПУСТА! Происходило это в компилированной программе и только тогда, когда печаталось в цикле. Ебстественно, для печати по DW было создано DS. Вскрытие показало, что иногда в PBVM60.dll происходит сбой по ошибке адресации. Но я тогда был начинающий на PB и дальше копать не стал. Я не умел добраться до ChildDataW. Но это была классическая ошибка, управляемая данными. Сейчас, на 8-м и на 9-м, дело обстоит так. При создании DS на совершенно простом и невинном DW оно ничего не ретривит. Когда я стал копать, то выяснилось, что ФУНКЦИЯ SetTransObject( sqlca ) ВОЗВРАЩАЕТ ОШИБКУ !!! Причём эта ошибка has no explanation, = -1 и всё. Иногда помогает замена SetTransObject() на SetTrans(), но не всегда. Ежели очень надо, то можно поиграть полями БД, но это уже чистое шаманство Единственно что спасает, так это использование НЕВИДИМОГО DW вместо DS, но это, сами понимаете, решение за гранью кретинизма. Самое же ужасное в этой ошибке то, что она НИКОГДА не проявляется, пока вы отлаживаетесь под PB -- команда RUN. ТОЛЬКО В КОМПИЛИРОВАННОЙ ПРОГРАММЕ, причём безразлично, до уровня .pbd or .dll. PEOPLE! Знает ли кто-нибудь, как "съесть этот ма-а-аленький бифштекс"? Если никто ничего не знает -- большая просьба поделиться всеми, даже самыми малейшими подозрюгами в адрес ф-ций SetTrans[...]() (i.e. нечёткая работа приложений, непонятное поведение DW и пр.) Буду очень, крайне, чрезвычайно признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2004, 09:59 |
|
||
|
PowerBuilder; DataStore; SetTrans; Error; Ошибка
|
|||
|---|---|---|---|
|
#18+
если использовать n_ds, будет тот же результат или другой. С такой ситуацией не встречался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2004, 14:17 |
|
||
|
PowerBuilder; DataStore; SetTrans; Error; Ошибка
|
|||
|---|---|---|---|
|
#18+
Григорий КсендзовскийПривет всем! Есть жуткая ошибка в PB, причём я впервые наблюл её на 6-м. ... Телепатов по-прежнему отсутствуют, но тем не менее... Вы уверены, что DataObject, который вы подключаете строчкой Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2004, 23:21 |
|
||
|
PowerBuilder; DataStore; SetTrans; Error; Ошибка
|
|||
|---|---|---|---|
|
#18+
to Григорий Ксендзовский , я тоже сталкивался с такой проблемой , я ее никак не победил. Может еще какие-нить будут версии ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 03:01 |
|
||
|
PowerBuilder; DataStore; SetTrans; Error; Ошибка
|
|||
|---|---|---|---|
|
#18+
Филипп здесь http://sql.ru/forum/actualthread.aspx?tid=47306&hl=pbr писалСие есть FAQ. Это не глюк, а четко документированное поведение. Когда компилишь в PBD, то ВСЕ объекты находящиеся в pibble, попадают в compile, если в EXE, то попадают только directly referenced objects, чтобы попали динамически назначенные, нужно при компиляции в EXE без PBD использовать PBR, читай хелп... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 08:15 |
|
||
|
PowerBuilder; DataStore; SetTrans; Error; Ошибка
|
|||
|---|---|---|---|
|
#18+
Григорий Ксендзовский Самое же ужасное в этой ошибке то, что она НИКОГДА не проявляется, пока вы отлаживаетесь под PB -- команда RUN. ТОЛЬКО В КОМПИЛИРОВАННОЙ ПРОГРАММЕ, причём безразлично, до уровня .pbd or .dll. Дык при использовании DS программно задавая ds.DataObject = 'd_emp' d_emp должен быть прописан обязятельно в ресурсном файле: our.pbl(d_emp) и при компиляции в projectе укзан этот ресурсный файл к библиотеке или ко всей программе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2004, 11:17 |
|
||
|
|

start [/forum/topic.php?fid=15&gotonew=1&tid=1338928]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
9ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 273ms |

| 0 / 0 |

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