Страница 2 из 3
Добавлено: 30 окт 2008, 09:32
edd
А ресы у вас все подключены?
Уверенно говорю, что да.
2
Masygreen 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
Алексей
не делаете дефайн
для ФРМок - напишите в проекте.
Добавлено: 30 окт 2008, 10:43
edd
Алексей писал(а):не делаете дефайн
для ФРМок - напишите в проекте.
Дефайн в проекте отключил, не помогло. ФРМ и РТФ копилю в проекте
Добавлено: 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
2
Masygreen
Я написал выше
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 тоже вывлдится? и правильный?