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

Есть вопросы!

Добавлено: 12 май 2008, 16:44
galover
Всем привет. Помучаю еще вопросами. 1) Как вызвать функцию или открыть окно одного интерфейса из другого (просто интерфейса, не объектного). 2) Можно ли расшарить table struct между двумя интерфейсами, или передать заполненный table struct в метод другого интерфейса. Заранее спасибо!

Добавлено: 12 май 2008, 21:45
edward_K
1. поищите embedded в vipprogr.chm - если просто Runinterface не подходит.
2. опишите table struct вне interface ( либо в проекте, а лучше в отдельном файле и цеплянуть его в проекте через #include ) - сможете и в отчетах использовать. Одно но - экземпляр будет освобожден после закрытия главного фейса. Так что вызвать подряд 2 фейса, в одном заполнить, а во втором напечатать незя - тока один из другого. mtChangeRefCount поищите, если просто так не получиться.

Добавлено: 13 май 2008, 21:27
galover
2) сделал как и описали, однако облом :( Не видит другой фейс таблицу , заполненную в главном. Сейчас имеем такую ситуацию:

//---Файл определений MyTbl.vip ---
table struct MyTbl
(
Список полей
);

//--Файл 1 --
interface ifc1;
#include "MyTbl.vip"

cmOk:
{
mtChangeRefCount(#MyTbl, 100);
Message(RecordsInTable(#MyTbl)); // Тут 20!
RunInterface(ifc2);
}


//-- Файл 2--
interface ifc2;
#include "MyTbl.vip"

cmInit: Message(RecordsInTable(#MyTbl)); // Тут 0 :(

Что еще покрутить? Спасибо!

Добавлено: 13 май 2008, 21:30
galover
ступил - не туда проинклудил!!!!! Респектище за помощь :cool: