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

Вызов формы интерфейса из потоковой формы

Добавлено: 27 мар 2008, 21:32
galover
Всем привет! Как можно вызвать из отчета (потоковой формы) функцию GetFio компонента z_staff (objInterface ObjStrFunc). Пробовал z_staff::GetFio("Foo Bar") не получается. Заранее спасибо!

Добавлено: 27 мар 2008, 21:59
edward_K
8) учи матчасть. vipprogr.chm - объектные фейсы. Да и форум почитай для начала.

Добавлено: 28 мар 2008, 10:59
galover
Почитал и есть вопросы. Нужно создавать vip интерфейс реализующий obj интерфейс? Obj интерфейс не содержит реализации, а лишь декларацию или не так? Где содержится реализация GetFIO (в vip интерфейсе компонента z_staff?)? Можете привести пример кода, по вызову функции?

Добавлено: 28 мар 2008, 11:23
Алексей
нужно в своем интерфейсе объявить переменную типа вип интерфейса, который наследует объектный.
подключить вих с описанием этого объектного фейса
и далее вызывать как переменнная.метод

ищите по форуму - до фига примеров

Добавлено: 28 мар 2008, 11:44
edward_K
по порядку кратенько поскольку не раз обсждулось.
1. не нужно, нужно найти vih файл с описанием нужного объектного фейса и объявить переменную с нужным типом( если obj.. то ее придется проиницилизировать, а если с типом= фейс, то не надо)
var wdecl : odecl ;
2. obj да - тока описание, лучше использовать сам фейс в качестве типа - проще.
3. Да.
4. поищите "склонение ФИО"

Добавлено: 28 мар 2008, 14:21
galover
Спасибо! Кажется разобрался, только вот засада. Вызов GetFIO('Иванов Иван Иванович') возвращает -> Иванов Иван Иванович, хотя должен Иванов И.И. GetLastName работает как и положено. Что не так?

Добавлено: 02 апр 2008, 13:55
k_vit
iStrFunc : StringFunctions;

iStrFunc.GetFirstName('Иванов Иван Иванович') + SubStr(iStrFunc.GetLastName('Иванов Иван Иванович'),1,1)+'. '+ SubStr(iStrFunc.GetPatronymic('Иванов Иван Иванович'),1,1)+'.';