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

Добавлено: 24 окт 2007, 09:59
san
Алексей писал(а):Nikos
было бы гораздо проще сразу в патч положить ВИХ.
и еще vip,vpp etc.

Добавлено: 24 окт 2007, 10:42
Nikos
С этим, конечно, никто не спорит...

Добавлено: 24 окт 2007, 11:21
Den
о vih-ах просто вспомнил, накнувшись на уже довольно давнюю темку :
http://tyumbit.ru/gal_forum/viewtopic.p ... 5%EB%FF%EC

Там уважаемый Screw утверждал, что
"
...
На справедливое утверждение о том, что наши разработчики, несмотря на глубокие познания в области современных технологий программирования, позволяют себе изменять объектные интерфейсы, могу ответить следующее: разъяснительная работа ведется
...
"

Видимо не прислушиваються к голосу "разума" разработчики :smile:
Мало того, что так вот не очень хорошо реализовали com-объекты в Аталантисе, дык еще, похоже меняют их довольно часто :)

Добавлено: 25 окт 2007, 01:45
Screw
Братцы, ежели в объектном интерфейсе чего поменяется, вы сообщите - я лично проведу разъяснительную работу с нарушителем.

Только вот я не уловил про...
Nikos писал(а):Спасибо, все заработало! Дело было в том, что в проекте была строка
#component "F_COMMON"
убрал - заработало почему-то...
О каком проекте речь? В vih-е, надеюсь, информация о компонентной принадлежности осталась?

Добавлено: 25 окт 2007, 07:24
Nikos
В вихе конечно осталась, а вот в файле .prj (где make...) тоже у меня была строка #component "F_COMMON". Так пока она там была, компилятор ошибок не выдавал, а во время выполнения возникала ошибка. Как убрал - все заработало. Почему - не знаю, в объектных интерфейсах еще не очень хорошо все понимаю.

Добавлено: 06 дек 2007, 07:09
Алексей
Подскажите пожалуйста внято, в 8.10 в VIP нужно инициализировать объектные интерфейсы или не нужно?

Например объявляю переменную

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

var 
    iGetKau    : GetKau new;
если дальше просто сразу пользоватся методами - галактика не валится и всё отрабатывает на ура.

сделал то же самое с другим объектным фейсом

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

           iOplPos: ASoprHozSumDistr new;
При вызове метода выдает ошибку "ExObjIfcNoInit(ExRef)".
Думаю - ладно.
Вставляю инициализацию

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

  if not  GetVipRef(iOplPos,'RaznSopHoz') then 
   {
    message('Не удалось инициализировать объектный интерфейс!');abort;exit;
   }
запускаю - всё проходит на ура.


ВОПРОС: Почему один объект без инициализации работает, а другой валится? НАДО ли делать инициализацию на 8.10 или не надо? Если не надо - почему валится второй?

Добавлено: 06 дек 2007, 11:04
edward_K
если бы вы написали iOplPos: RaznSopHoz то инициализация прошла бы в автомате. Короче если вы инициализируете переменную с типом interface то инициализация не нужна, а если с ObjInterface то надо.

Добавлено: 06 дек 2007, 12:25
Алексей
edward_K
Действительно. Спасибо за разъяснения - всё понятно.