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

Добавлено: 30 окт 2008, 09:32
edd
А ресы у вас все подключены?
Уверенно говорю, что да.

2Masygreen eddi@ap-plastic.ru.

Добавлено: 30 окт 2008, 09:50
edd
не понятно где вы там его подключили в rtf скорей всего после .linkform
для этого вообще то есть
.declare
#include ....
.end ( не помню уже что в конце)
я его подключал и просто как #include ExtAttr.vih и в .declare .enddeclare

Добавлено: 30 окт 2008, 09:54
edd
сделайте ошибку в extattr
Сделал. Компилятор пропустил, т.е. вообще ничего не сказал и рес не скомпилился. Компилил и vih подключил строго в проекте. И какую ошибку многих я повторяю?
А в VIP_RES.LOG ничего нет ?
Вообще ничего. Он пустой.

Добавлено: 30 окт 2008, 10:28
Алексей
не делаете дефайн

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

#define ComponentVersion
для ФРМок - напишите в проекте.

Добавлено: 30 окт 2008, 10:43
edd
Алексей писал(а):не делаете дефайн

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

#define ComponentVersion
для ФРМок - напишите в проекте.
Дефайн в проекте отключил, не помогло. ФРМ и РТФ копилю в проекте

Добавлено: 30 окт 2008, 10:59
Алексей
edd приношу извинения, я неверно написал.

Наоборот "НУЖНО ДЕЛАТЬ ДЕФАЙН" componentversion для галактики 8.10!!! Т.к. в ВИХ файлах стоят конструкции #ifdef ComponentVersion
Заработалсо :?

Добавлено: 30 окт 2008, 11:36
edd
Алексей
Тогда я уточню - дефайн надо прописать в файле проекта?

Т.е. prj должен выглядеть так:

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

#define ComponentVersion
#include ExtAttr.Vih
#make "EDD_3_SERTIFONTARA_test.rtf"

Добавлено: 30 окт 2008, 12:02
Алексей
Да, дефайн в проекте.

в РТФе надо инклюдить ExAttr.vih

.declare
#include ExtAttr.Vih
.enddeclare

дальше в Варах уже объявлять переменную типа
var
ExtAttr : iExtAttr new;

Добавлено: 30 окт 2008, 12:15
Masygreen
Адрес напиши .. пришлю проект ...

Добавлено: 30 окт 2008, 12:18
edd
2Masygreen
Я написал выше :-)

eddi@ap-plastic.ru

Добавлено: 30 окт 2008, 12:21
edd
2Алексей
А как же
vih подключаются только в проекте!
? Я понял так, что #include ExAttr.vih надо прописывать именно в файле проекта

Добавлено: 30 окт 2008, 12:28
Алексей
Для FCOMа по другому
http://support.galaktika.ru/galaxy.asp? ... ts=faqlist
там есть темка:
17.VIII.2006
- FCOM. Компиляция объектных интерфейсов.

Добавлено: 30 окт 2008, 13:55
edd
Из последнего намученного: компилил уже в FCOM-е, компилит без ошибок. Но если в консоли управления, в компонентах найти ресурс, в который компилил, в нем заглянуть в объекты, то откроется журнал, в котором говорится что была "...Ошибка при создании объекта Класс не зарегистрирован".
Думаю, что настала пора привести весь код в студию.

Файл проекта:

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

#define ComponentVersion
#include galnet.ccm //константы событий
#include galnet.csc //константы статус-строк
#make "EDD_3_SERTIFONTARA.rtf"
Файл EDD_3_SERTIFONTARA.rtf:

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

.LinkForm ’edd_3_SertifOnTara_SHTRIH2_testing’ prototype is tovn
.NameInList ’3. Сертификат на тару исправленный, пробный’
.group ’Накладные на продажу’
.group ’Накладные на продажу (fast)’
.Group 'Рекламационные накладные'
.Group 'Акты на строительство'
#include fldcolor.inc //константы цветов 
#include gloconst.inc //Глобальные константы 
#include mark.inc //константы пометки
#include summa.frn 
#include ttnf_var.frn 
#include format.frn
.Set Filler = ’-’ 
.declare
#include ExtAttr.vih
.enddeclare
.var
  Nom          : Word;
  kolEnter    :string;
  GetRow    :boolean;
  GetTransp:boolean;
  NRec_MC :comp;
  getExtrAttr:iExtAttr; // ЕСЛИ ПИШУ iExtAttr NEW, ТО КОМПИЛЯТОР ВЫДАЕТ ОШИБКУ "ПЕРЕД ИМЕНЕМ ПЕРЕМЕННОЙ И ТИПОМ НАДО СТАВИТЬ ДВОЕТОЧИЕ!"
  sName_Det : string;
  sIndex_det : string;
  sTipCont : string;
.endvar
.Create view vSertificat 
......
.fields
.....
getExtrAttr.sGetAttr(coKatMC, vSertificat.SpSopr.cmcUsl,’АВТОВАЗ_НаименованиеДетали’)
....
.endfields
....
Файл iExtAttr.vih

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

#ifndef _ExtAttr_Func
#define _ExtAttr_Func
#end

#ifndef __XEXTRATTR
#define __XEXTRATTR
#end
	
#ifdef ComponentVersion 
#component "C_ExtClass"
#end

//**************************************************
#doc
Функции для работы с внешними атрибутами документов<br>
</brief>
 ......
#end
ObjInterface objExtAttr;

!------------------------------------------------------------------------
  #doc
  Набор функций для создания атрибута, получения ID, показа ошибки.<br>
  Возвращает ссылку на внешний аттрибут если существует, если не найден - создает.
  #end
  Function CreateAttr ( _wTable : word; _Name : string; _Type : word ) : comp ;
........
  #doc
  Набор функций для извлечения содержания внешних аттрибутов для различных типов<br>
  </brief>
  Функции возвращают значение внешнего аттрибута по коду таблицы, имени атрибута и nRec-ку записи
  для разных типов атрибута.<br>
  sGetAttr - возвращает строку для всех типов, преобразовав тип в строку<br>
  #end
  function sGetAttr (_wTable : word; _cRec : comp; _Name : string) : string;
......
End;
VipInterface iExtAttr implements objExtAttr;

Почему не создается объект в ресурсе и где ошибка в коде? :?

Добавлено: 30 окт 2008, 14:52
edd
Да, при подключении реса форма цепляется, но выводится всё, кроме внешних атрибутов.

Добавлено: 31 окт 2008, 09:54
edward_K
vSertificat.SpSopr.cmcUsl тоже вывлдится? и правильный?