Страница 1 из 2

.f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 14:05
Masygreen
Есть такая старая фигня .. есть ряд линкованных форм в которых указание параметра

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

.f 'nul'
приводит к ошибке .. чего подскажете сделать дабы побороть ?

Re: .f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 14:17
Masygreen
сегодня я КЭП .. почитал форму походу в tovn это ни как не победить :(
или есть счастливцы ?

Re: .f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 14:39
edward_K
.F "NUL" вообще то надо.

Re: .f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 14:44
Masygreen
edward_K писал(а):.F "NUL" вообще то надо.
в этом прототипе tovn эта команда приводит к ошибке и не отрабатывается, так же как и неотрабатывается fexit ... :(

Re: .f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 15:03
edward_K
а к какой ошибке то? Fexit сработает только в самом начала формы и то не всегда. Вариант - в фейсе сделать abortform.

Re: .f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 15:15
Masygreen
тут было обсуждение похоже

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

.LinkForm '*****' prototype is 'TOVN'
.f 'nul'
.NameInList '************'
..... тут нужное количество скобочек
.begin
RunInterface('**********');
end.
.endform
так будет ошибка при выводе формы, а не при компиляции

fexit - работает прекрасно в конце, но для ard..

Re: .f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 15:17
Masygreen
edward_K писал(а):а к какой ошибке то? Fexit сработает только в самом начала формы и то не всегда. Вариант - в фейсе сделать abortform.
к интерфейсу ни как не относится т.к. потом все равно управление передается линкованой форме, а та выведет пустой лист бизнестекста

Re: .f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 15:42
edward_K
угу.
Повтор. А какая ошибка? Где то смутно ясно в начала, что при выполнении. И на "NUL" вы не исправили.
На 810 какое то время эта опция приводила к runtime 216 во всех формах, но потом починили.

Re: .f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 15:47
Masygreen
edward_K писал(а):угу.
Повтор. А какая ошибка? Где то смутно ясно в начала, что при выполнении. И на "NUL" вы не исправили.
На 810 какое то время эта опция приводила к runtime 216 во всех формах, но потом починили.
зная галактику .. :) я попробовал самый невероятный вариант

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

.F "NUL"
... не помогло привязки к регистру тут нет ...
это не свойство самой галактики, это действительно свойство прототипа как в него пишут и как вызывают .. в 8.1 тоже есть несколько таких форм .. вот как это обойти - вот вопрос ...
пробовал накрыт прототип - получил рантайм, пробую сейчас накрыть фейс который пишет в прототип .. но как то неудачно ..

Re: .f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 16:12
edward_K
Какая ошибка видимо никогда не узнаю 8)
Ну вот вам работающий пример, начните с него, потом перейдете на tovn
В <F> регистр наверное не важен, хотя вроде в доке все опции FCOM в верхнем регистре. А вот NUL должен быть в двойных кавычках - иначе это просто имя файла.

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

.LinkForm 'PlatDocs_DOC' Prototype is 'PlatDocs'
.NameInList 'Комплект документов' 
.Group 'РАСХОДНЫЙ КАССОВЫЙ ОРДЕР - ЦБРФ'
.group 'РАСХОДНЫЙ КАССОВЫЙ ОРДЕР ЦБРФ - РТФ'
.group 'Расходный кассовый ордер РК - РТФ'
.group 'Приходный КАССОВЫЙ ОРДЕР ЦБРФ - РТФ'
.F "NUL"
.Var
 Count : Word;
.EndVar
.{
.{checkenter PlatDocsCycleDocRash
.}
!.{checkenter PlatDocsCycleDebetBuhNotes
!.}
!.{checkenter PlatDocsCycleKreditBuhNotes
!.}
.{
.}
.{
.}
.{checkenter PlatDocsCycleVKassu
.{checkenter PlatDocsCycleMemo1
.}
.}
.{checkenter PlatDocsCycleIzKassy
.{checkenter PlatDocsCycleMemo2
.}
.}
.{
.{
.{
.}
.}
.}
.if DELIMITERPLAT
---------------------------------------------------------------------------------
.else
.end
.if PAGESYMBOL
.else
.end
.begin
  RunInterface(Print_DOC, PlPorNrec);
 end.
.}
.endform

Re: .f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 17:24
Masygreen
edward_K писал(а):Какая ошибка видимо никогда не узнаю 8)
Ну вот вам работающий пример, начните с него, потом перейдете на tovn
В <F> регистр наверное не важен, хотя вроде в доке все опции FCOM в верхнем регистре. А вот NUL должен быть в двойных кавычках - иначе это просто имя файла.
Хотел бы я чтоб все было так просто :)
Пример ни как не помог т.к. пользоваться .F "NUL" я вроде как умею, пользуюсь, пользовался (я так думаю ) как и fexit :) и оно почти всегда работает.. независимо от регистра ...
Повторюсь это ошибка прототипа tovn, а не написания команды...
ошибка следующего содержания не важно .F "NUL" или .f 'nul'

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

Ошибка поиска
Файл    :\\.\NUL
Идентификатор : 65535
обрабатывается при просмотре
код если вдруг ....может тыкните мородчкой в ошибку ?

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

.LinkForm 'TOVN_20111102' Prototype is 'tovn'
.Group 'Накладные на продажу'
.NameInList 'Стандартная форма накладной (тест)'
.DEFP PA4
.DEFO PORTRAIT
.LL 80
.F "NUL"
.Create  view nnn
from
  katsopr,
  spsopr
where
((
  накладная_нрек == KatSopr.nRec
))
;
.{
.if TOVN01
.else
.end
.if TOVN02
.else
.end
.{
.}
.{CheckEnter TOVNUSL
.}
.{
.}
.}
.begin
message('ВОт не должно быть окна пустого...а оно есть ');
end.
.endform  

Re: .f 'nul' как в линкованой побороть..

Добавлено: 02 ноя 2011, 18:10
edward_K
судя по ошибке, у вас .F сработал не на гашение формы, а на сохранение в виде файла nul. Мой пример то пашет?
Перебейте эту строку в каком то обычном редакторе, сделайте текстовую форму, проверьте что в конце нет пробелов после "NUL".
И проверьте лишний раз в галке по F4 - ту ли форму смотрите.

Re: .f 'nul' как в линкованой побороть..

Добавлено: 03 ноя 2011, 12:26
Masygreen
edward_K писал(а):судя по ошибке, у вас .F сработал не на гашение формы, а на сохранение в виде файла nul
пух .. на 8.1 работает видимо поправили, в 7.12 в этой конкретной форме нет я уже и целиком текст в галактике правил.. в 8.1 тоже некоторые формы так косячат, встречалась полгода назад ..

Re: .f 'nul' как в линкованой побороть..

Добавлено: 07 ноя 2011, 14:59
Masygreen
решение есть :) если собрать линкованую форму как RTF все прокатит с помощью fexit !!!!!!!!!!!!! иху!!!

Re: .f 'nul' как в линкованой побороть..

Добавлено: 07 ноя 2011, 15:18
edward_K
.DEFP PA4
.DEFO PORTRAIT
.LL 80
- это уберите
и посмотрите обычным редактором или каким либо вьюером - нет ли спецсимволов в строке с .F - Word при вставке видимо их обрезал