Форум » [x]Harbour » Препроцессор » Ответить

Препроцессор

Pasha: Команда препроцессора транслируется как положено: #xcommand enddb => dbSkip() ; enddo а такая команда: #xcommand enddb ref => MeterRefresh() ; dbSkip() ; enddo ; MeterEnd() транслируется в MeterRefresh() ; dbSkip() ; enddo в которой нет последнего оператора. Почему так ?

Ответов - 3

SergKis: Pasha [pre2] #xcommand startdb => do while !Eof() #xcommand enddb refr => MeterRefresh() ; dbSkip() ; end ; MeterEnd() дадут результат while !Eof() MeterRefresh() ; dbSkip() ; end ; MeterEnd() т.е. убирается do из do while и происходит обрезание по enddo ; MeterEnd() [/pre2]

SergKis: PS[pre2] #xcommand startdb => do while !Eof() #xcommand enddb refr => MeterRefresh() ; dbSkip() ; end do ; MeterEnd() => while !Eof() MeterRefresh() ; dbSkip() ; end ; MeterEnd() т.е. ok! [/pre2]

Pasha: Так работает, спасибо




полная версия страницы