RUS  ENG 

Vitaliy (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Покупка Zulu
 
при покупке сервера еще на каждого клиента надо покупать модули рассчета отдельно?
Покупка Zulu
 
сколько ZuluServer стоит? не нашел на сайте информации.
Плагин и ProjectLink
 
хм... сделал так:

Pr:=FConnector.Zulu.ActiveProject;
Doc:=FConnector.Zulu.ActiveDocument;
Map:=IMapDoc(Doc.NativeDoc);
Lr:=Map.Layers.Active;
//ShowMessage(IntToStr(Lr.CurrentID));//cur id
//ShowMessage(IntToStr(Lr.Elements[Lr.CurrentID].TypeID));//type id
i:=Lr.Elements[Lr.CurrentID].TypeID;
//ShowMessage(Lr.ObjectTypes.Item[i].BaseName);
//Edit1.Text:=Lr.ObjectTypes.Item[i].BaseName;
try
zb.Open(Lr.ObjectTypes.Item[i].BaseName);
except
ShowMessage('Error');
end;

вылетает по исключению. имя базы - zulu://127.0.0.1:6473/Main project\Карта_вся\teplo_Cher.zl?zb=1000003.zb
работает через ZuluServer 1.0.
может в коде что-то не то?
Плагин и ProjectLink
 
что-то я так и не понял, как подключиться к базе на сервере, если он выдает имя базы в таком виде:
zulu://127.0.0.1:6473/Main project\УТ-1(115МКРмаг.ОКТЯБРЬСКИЙ)\УТ-1(115МКРмаг,ОКТЯБРЬСКИЙ).zl?zb=1000006.zb
Плагин и ProjectLink
 
да, и еще...
из хелпа:
Применяется к:
ZbDatabase
Синтаксис:
Visual Basic:
Function Open(FilePath As String) As Boolean
FilePath - полное имя файла семантической базы данных.
Описание:
Имя присоединенной к графическому слою базы данных может быть получено через свойство BaseName объекта Layer.

так слой возвращает вместо имени базы пустую строку.
брал имя базы так:
SubLr.ObjectTypes.Item[Elem.TypeID].BaseName;
(в общем у элемента)
так он возвращает вот это:
zulu://127.0.0.1:6473/Main project\УТ-1(115МКРмаг.ОКТЯБРЬСКИЙ)\УТ-1(115МКРмаг,ОКТЯБРЬСКИЙ).zl?zb=1000006.zb
и ZBDatabase.Open("эта строка") вылетает с исключением.
как открыть эту базу и получить значения полей элемента?
Плагин и ProjectLink
 
Доступ - ОК.
теперь другой вопрос возник, можно поподробнее про QueryByExample, желательно с примерчиком
Плагин и ProjectLink
 
Возможно ли плагину получить ProjectLink(s). и как если да, не мог найти связи между IPluginConnector и Project
События Zulu
 
пробовал нечто подобное:
function TSamplePlugin.OnZuluEvent(EventID: Integer;
const Source: IUnknown; Param1, Param2, Param3: OleVariant): Integer;
begin
//param2 почему-то = 0
if (EventID > evMapElementsChanged) then
begin
ShowMessage('Zulu Event Change'); // проходит
try
ShowMessage('Count obj: ' + IntToStr(Param1.Count));//не работает, вываливается в except
ShowMessage('count showed');
except
ShowMessage('Don''t!');
end;
end;
exit;
end;

не видит ничего...
что здесь может быть?
События Zulu
 
ага, значение и интересовало.
теперь только при добавлении объекта Param2 = 0, а к Param1[0] или Param1[1] нельзя обратиться...
я так понял список пуст...
События Zulu
 
в справке нет самого значения evMapElementsChanged. Т.е. само число неизвестно.
События Zulu
 
Хотелось бы отловить событие на создание нового элемента слоя, и при создании изменить его параметры. В документации указаны такие события как:
evMapLayerCompositionChanged
evMapElementsChanged
какие значения они имеют и какие параметров (Param1,Param2,Param3) передаются?
И можно побольше что-то о событиях узнать?
Создание сложных запросов
 
я уже вам на почту написал, но все равно.

Первое:
как можно в запросе написать условия, выглядщие на SQL примерно так:
from 'D:\Zulu_Base\2\zadvigka.db' zadvigka1, 'D:\Zulu_Base\2\zadvigka.db' zadvigka2,
'D:\Zulu_Base\2\kamera.db' kamera1
where (kamera1.sys = 6243)and
(kamera1.'ID' = zadvigka1.'id_kam') and (zadvigka1.'n_zad' = 1)and
(kamera1.'ID' = zadvigka2.'id_kam') and (zadvigka2.'n_zad' = 2)
, где zadvigka1 и zadvigka2 - по сути одна и та же таблица.
на sql все хорошо, но не могу найти как сохранить этот sql как запрос.

Второе:
попробовал связать по другому - в таблице (объекте) kamera - 2 поля связанные с таблицей (объектом) Zadvigka.
Запрос должен быть примерно такой:
SELECT
kamera1.'Sys',kamera1.'Name',ZADVIGKA1.'Name',ZADVIGKA2.'Name',kamera1.'ID_Zadv1',kamera1.'ID_Zadv2'
FROM 'D:\Zulu_Base\Тепловая сеть\kamera.DB' kamera1, 'D:\Zulu_Base\Тепловая
сеть\ZADVIGKA.DB' ZADVIGKA1,'D:\Zulu_Base\Тепловая сеть\ZADVIGKA.DB' ZADVIGKA2
where (kamera1.'ID_Zadv1' = ZADVIGKA1.'ID_Zadv') and (kamera1.'ID_Zadv2' =
ZADVIGKA2.'ID_Zadv')
, Zulu генерирует так:
SELECT
kamera1.'Sys',kamera1.'Name',ZADVIGKA1.'Name',ZADVIGKA2.'Name',kamera1.'ID_Zadv1',kamera1.'ID_Zadv2'
FROM AND 'D:\Zulu_Base\Тепловая сеть\kamera.DB' kamera1 INNER JOIN 'D:\Zulu_Base\Тепловая
сеть\ZADVIGKA.DB' ZADVIGKA1 ON
(kamera1.'ID_Zadv1' = ZADVIGKA1.'ID_Zadv')(kamera1.'ID_Zadv2' =
ZADVIGKA2.'ID_Zadv'),'D:\Zulu_Base\Тепловая сеть\ZADVIGKA.DB' ZADVIGKA2
,понятно, что после FROM не должно быть AND. можно ли руками это подправить как-то?
Страницы: 1