CloseInterface(0) не закрывает интерфейс
Модераторы: m0p3e, edward_K, Модераторы
CloseInterface(0) не закрывает интерфейс
Доброго времени суток!
Кто-нибудь сталкивался? Когда началось - не знаю, недавно патчи декабрьские поставили, может, из-за них. А как теперь закрывать?
Кто-нибудь сталкивался? Когда началось - не знаю, недавно патчи декабрьские поставили, может, из-за них. А как теперь закрывать?
Народ, помогите, горю! Не закрывает даже простейшие фейсы, например:
Код: Выделить всё
interface vrem
create view as select * from grnal;
browse www
fields
grnal.nrec;
end;
handleevent
cminit:
{
closeinterface(0);
}
end;
end.
Да по-разному пробовал: и CmOK, и CmDefault, и CmCancel... Тут покопался и нашёл http://www.tyumbit.ru/gal_forum/viewtop ... 759bdc4428 - только так закрывается. А почему по-старому не идёт - не знаю. Может, глюк какой...
Теперь другая проблема - необработанное исключение и ошибка загрузки объекта:
Раньше такое при отсутствии #define выскакивало. А теперь что?
Код: Выделить всё
#define ComponentVersion
#include AdrFunc.vih
#include AdrFunc.var
interface AdresPoluchit, AlwaysReturn
var
iaddress: AddressFunc;
adres: string;
persnrec: comp;
create view as select * from grnal;
parameters
adres, persnrec;
browse www
fields
grnal.nrec;
end;
handleevent
cminit:
{
adres:=iaddress.GetFullAddressInd(persnrec);
closeinterface(0);
abort;
exit;
}
end;
#undef ComponentVersion
end.
Сделал , как научили. Ошибка не выскакивает, но переменная adres всё равно пустая!
Почему?

Код: Выделить всё
#define ComponentVersion
#include AdrFunc.vih
#include AdrFunc.var
vipInterface iAdresPoluchit;
interface AdresPoluchit, AlwaysReturn
var
myFace: iAdresPoluchit;
iaddress: AddressFunc;
adres: string;
persnrec: comp;
create view as select * from grnal;
parameters
adres, persnrec;
browse www
fields
grnal.nrec;
end;
handleevent
cminit:
{
myFace:=new(iAdresPoluchit);
adres:=iaddress.GetFullAddressInd(persnrec);
closeinterface(0);
abort;
exit;
}
end;
#undef ComponentVersion
end.
так по closeinterface(0) окно же начало закрываться?
а по поводу не вывода см.
а по поводу не вывода см.
вот примерчик:edward_K писал(а):в GetFullAddressInd наверное все таки нужно бы запихивать addressn.nrec
Код: Выделить всё
#include AdrFunc.vih
interface AdresPoluchit , AlwaysReturn
var
sAdres: string;
cAddrNrec: comp;
#include AdrFunc.var
parameters
sAdres
, cAddrNrec;
handleevent
cmInit:
{
sAdres:=iAdrFunc.GetFullAddressInd(cAddrNrec);
CloseInterface(cmOk);
}
end;
end.
/// протестируем ардэхой
.Form AAA
.Ard
.Var
sTmp:String;
.EndVar
.Create view vPers
As Select * from Persons
;
.{table 'vPers.Persons'
.Begin
sTmp:='';
RunInterface(AdresPoluchit,sTmp,Persons.LIVEADDR);
End.
.Fields
Persons.Tabnmb
Persons.Fio
sTmp
.EndFields
@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ^
.}
.EndForm