05.03.2005, 14:23 | #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. Ленива. |
|
14.03.2005, 16:06 | #2 |
Участник
|
Re: Ошибка приложения при обращении к RecordID.GETRECORD
п.с. крайне неохота делать case по номерам таблиц и работать с rec. Ленива. [/B][/QUOTE]
Сорри, но единственное что могу сказать однозначно - case делать придется по крайней мере так быстрее увидишь в чем проблема.
__________________
--- Новое - это хорошо забытое старое --- |
|
12.05.2005, 16:31 | #3 |
Участник
|
Не пришлось. Опытным путем было установлено, что ряд функций recRef не работают, или работают не стабильно.
Пришлось отводить отдельную таблицу под ключи и делать setrange по ключевым полям. Подвела вера в работу документируемых функций. |
|
12.05.2005, 17:41 | #4 |
NavAx
|
RecordRef появились только в версии 3.60. И они там сырые.
Собственно, в 3.60 работают они криво. Если есть возможность избежать - лучше избежать В 3.70 и в 4.0 не работал с ними, к сожалению. |
|
12.05.2005, 17:47 | #5 |
Участник
|
Я работала в 3.70. За неимением надобности 4.0 не трогала.
Не работают те функции, которые связаны с RecordID. Сам по себе RecordRef очень полезная штука и веселая штука. Например решать задачи сравнения записей в одной и той же таблице разных фирм, 2 дня программинга, день тестирования. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Внутренняя ошибка 27 в модуле 30 | 1 | |||
Ошибка импорта | 0 | |||
Ошибка с FORM.RUNMODAL | 18 | |||
Ошибка при оптимизации базы. | 5 | |||
ошибка при запуске finsql | 6 |
|