компилятору не нравится tnPrMemo или как получить мемо поле

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

компилятору не нравится tnPrMemo или как получить мемо поле

Сообщение Darikon »

в отчете rtf требуется выбрать два мемо поля.
Использовал вьюшку :

Код: Выделить всё

.Create view vwDocOsn
Var ContDoc_nrec:comp
As select contdoc.person,PRMEMO.nrec
from contdoc,Prmemo
where ((ContDoc_nrec/== ContDoc.nrec
and contdoc.nrec /== Prmemo.cdoc
and 4 /== Prmemo.wref
))
;
и конструкцию

Код: Выделить всё

.{table "vwDocOsn";
.begin
Osn:=‘’;
End.
.{while memoreadln(tempString, tnPrMemo)=0;
.begin
Osn:=Osn+’ ’+ tempString;
end.
.}
.}
когда мемо поле выбиралось одно, отчет прекрасно компилировался и работал.
вчера добавил вьюшку и подобную конструкцию для второго мемо поля и:
компилятор ругается:
"Нет такой функции, поля или метода tnPrMemo"
если вместо tnPrMemo поставить vwDocOsn.tnPerMemo, то отчет компилируется, но при формировании отчета галактика валится по рантайму именно на строке функции memoreadln.

пробовал убрать обработку второго мемо-поля, но проблема не исчезает, даже если почистить временные файлы в компиляторе.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: компилятору не нравится tnPrMemo или как получить мемо п

Сообщение edward_K »

tnPrMemo надо писать с именем вьюхи, если их более 1.
Попробуйте объединить все в одну.
а вместо
.{table "vwDocOsn";
используйте позиционирование в программном блоке
ну или
.{table "vwDocOsn.Prmemo";
- по всей вьюхе позиционироваться не всегда хорошо
И прежде чем читать мемополе не лишне проверить - а есть ли запись по вашему условию.
А еще поищите по форуму - тема уже подымалась. memoreadln вообще то не рекомендована к использованию в vipprogr.chm.
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

Re: компилятору не нравится tnPrMemo или как получить мемо п

Сообщение Darikon »

edward_K писал(а):tnPrMemo надо писать с именем вьюхи, если их более 1.
vwDocOsn.tnPrMemo? уже пробовал
edward_K писал(а):ну или
.{table "vwDocOsn.Prmemo";
попробую
edward_K писал(а): И прежде чем читать мемополе не лишне проверить - а есть ли запись по вашему условию.
проверяю по EOF
edward_K писал(а):А еще поищите по форуму - тема уже подымалась. memoreadln вообще то не рекомендована к использованию в vipprogr.chm.
из всех описанных на форуме вариаций, эта оказалась самой надежной, когда выбиралось одно мемо...
Darikon
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 17 июн 2008, 17:07
Откуда: Москва
Контактная информация:

Re: компилятору не нравится tnPrMemo или как получить мемо п

Сообщение Darikon »

edward_K, спасибо. все получилось.
Ответить