![]() |
#1 |
Участник
|
Ошибка приложения при обращении к RecordID.GETRECORD
Задача: синхронизация справочников разных фирм в одной базе.
Проблема: информация об изменении содержит в себе recorid записи, получаемый с помощью RecRef.RECORDID. В процессе синхронизации нужно положить в recref запись, в которой произошли изменения. код: RecordIDTemp := ChangeforSynchron.RecordChangeID; RecordRefSource.OPEN(ChangeforSynchron."Table ID", FALSE, CompanyNameSource); RecordRefSource := RecordIDTemp.GETRECORD; Входные данные проверенны и корректны. В ряде случаев происходит вылет приложения аля фанерки над Парижем. В связи с чем - понять не могу. Ранее код был: RecordRefSource.OPEN(ChangeforSynchron."Table ID", FALSE, CompanyNameSource); if not RecordRefSource.GET(ChangeforSynchron.RecordChangeID) then error('!!'); В этом случае приложение слетало всегда. Не подскажите, в каком именно месте у меня кривые руки? п.с. крайне неохота делать case по номерам таблиц и работать с rec. Ленива. |
|
![]() |
#2 |
Участник
|
Re: Ошибка приложения при обращении к RecordID.GETRECORD
п.с. крайне неохота делать case по номерам таблиц и работать с rec. Ленива. [/B][/QUOTE]
Сорри, но единственное что могу сказать однозначно - case делать придется ![]()
__________________
--- Новое - это хорошо забытое старое --- |
|
![]() |
#3 |
Участник
|
Не пришлось. Опытным путем было установлено, что ряд функций recRef не работают, или работают не стабильно.
Пришлось отводить отдельную таблицу под ключи и делать setrange по ключевым полям. Подвела вера в работу документируемых функций. |
|
![]() |
#4 |
NavAx
|
RecordRef появились только в версии 3.60. И они там сырые.
Собственно, в 3.60 работают они криво. Если есть возможность избежать - лучше избежать ![]() В 3.70 и в 4.0 не работал с ними, к сожалению. |
|
![]() |
#5 |
Участник
|
Я работала в 3.70. За неимением надобности 4.0 не трогала.
Не работают те функции, которые связаны с RecordID. Сам по себе RecordRef очень полезная штука и веселая штука. Например решать задачи сравнения записей в одной и той же таблице разных фирм, 2 дня программинга, день тестирования. |
|
|
![]() |
||||
Тема | Ответов | |||
Внутренняя ошибка 27 в модуле 30 | 1 | |||
Ошибка импорта | 0 | |||
Ошибка с FORM.RUNMODAL | 18 | |||
Ошибка при оптимизации базы. | 5 | |||
ошибка при запуске finsql | 6 |
|