powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / PowerBuilder; DataStore; SetTrans; Error; Ошибка
7 сообщений из 7, страница 1 из 1
PowerBuilder; DataStore; SetTrans; Error; Ошибка
    #32649590
Григорий Ксендзовский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!
Есть жуткая ошибка в 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 и пр.)
Буду очень, крайне, чрезвычайно признателен.
...
Рейтинг: 0 / 0
PowerBuilder; DataStore; SetTrans; Error; Ошибка
    #32649678
Mykola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если использовать n_ds, будет тот же результат или другой.
С такой ситуацией не встречался.
...
Рейтинг: 0 / 0
PowerBuilder; DataStore; SetTrans; Error; Ошибка
    #32649906
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Григорий КсендзовскийПривет всем!
Есть жуткая ошибка в PB, причём я впервые наблюл её на 6-м.
...
Телепатов по-прежнему отсутствуют, но тем не менее...
Вы уверены, что DataObject, который вы подключаете строчкой
Код: plaintext
ds.DataObject = 'd_emp'
явным образом присутствует в одном из окон или описано в .pbr файле?
...
Рейтинг: 0 / 0
PowerBuilder; DataStore; SetTrans; Error; Ошибка
    #32650173
Фотография Deosfen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Григорий Ксендзовский , я тоже сталкивался с такой проблемой , я ее никак не победил. Может еще какие-нить будут версии
...
Рейтинг: 0 / 0
PowerBuilder; DataStore; SetTrans; Error; Ошибка
    #32650217
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп здесь http://sql.ru/forum/actualthread.aspx?tid=47306&hl=pbr писалСие есть FAQ.
Это не глюк, а четко документированное поведение. Когда компилишь в PBD, то ВСЕ объекты находящиеся в pibble, попадают в compile, если в EXE, то попадают только directly referenced objects, чтобы попали динамически назначенные, нужно при компиляции в EXE без PBD использовать PBR, читай хелп...
...
Рейтинг: 0 / 0
PowerBuilder; DataStore; SetTrans; Error; Ошибка
    #32650485
Сотников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Григорий Ксендзовский
Самое же ужасное в этой ошибке то, что она НИКОГДА не проявляется, пока вы отлаживаетесь под PB -- команда RUN. ТОЛЬКО В КОМПИЛИРОВАННОЙ ПРОГРАММЕ, причём безразлично, до уровня .pbd or .dll.


Дык при использовании DS программно задавая
ds.DataObject = 'd_emp'

d_emp должен быть прописан обязятельно в ресурсном файле:
our.pbl(d_emp)

и при компиляции в projectе укзан этот ресурсный файл к библиотеке или ко всей программе.
...
Рейтинг: 0 / 0
PowerBuilder; DataStore; SetTrans; Error; Ошибка
    #32666213
Григорий Ксендзовский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо всем!!!
С уважением Г.К. aka GrayCat
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / PowerBuilder; DataStore; SetTrans; Error; Ошибка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]