Использование объектных интерфейсов в формах. Галактика 8.10

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

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

san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

Алексей писал(а):Nikos
было бы гораздо проще сразу в патч положить ВИХ.
и еще vip,vpp etc.
Nikos
Местный житель
Сообщения: 577
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Томск

Сообщение Nikos »

С этим, конечно, никто не спорит...
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

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

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

Видимо не прислушиваються к голосу "разума" разработчики :smile:
Мало того, что так вот не очень хорошо реализовали com-объекты в Аталантисе, дык еще, похоже меняют их довольно часто :)
Screw
Слесарь-системщик
Сообщения: 304
Зарегистрирован: 29 мар 2005, 17:49
Откуда: р.Беларусь, Унитарное предприятие "ТОП СОФТ"
Контактная информация:

Сообщение Screw »

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

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

Сообщение Nikos »

В вихе конечно осталась, а вот в файле .prj (где make...) тоже у меня была строка #component "F_COMMON". Так пока она там была, компилятор ошибок не выдавал, а во время выполнения возникала ошибка. Как убрал - все заработало. Почему - не знаю, в объектных интерфейсах еще не очень хорошо все понимаю.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

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

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

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

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

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

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

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

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

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


ВОПРОС: Почему один объект без инициализации работает, а другой валится? НАДО ли делать инициализацию на 8.10 или не надо? Если не надо - почему валится второй?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

если бы вы написали iOplPos: RaznSopHoz то инициализация прошла бы в автомате. Короче если вы инициализируете переменную с типом interface то инициализация не нужна, а если с ObjInterface то надо.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Сообщение Алексей »

edward_K
Действительно. Спасибо за разъяснения - всё понятно.
Ответить