Проблема со склонением ФИО при переходе с 8.0 на 8.1
Модераторы: m0p3e, edward_K, Модераторы
Проблема со склонением ФИО при переходе с 8.0 на 8.1
Здравствуйте все!
Возникла проблема со склонением ФИО при переходе с 8.0 на 8.1. Интерфейс со старой версией файла odecl.vih (текст здесь: http://www.tyumbit.ru/gal_forum/viewtop ... ight=odecl) не работает – компилится без вопросов, но при вызове выдаёт ошибку: «ошибка загрузки объекта из ресурсного файла(declension)». Тупо пробовал заменить #ifdef ATL51 на #ifdef ATL5208 – не помогло. Подскажите, что делать.
Возникла проблема со склонением ФИО при переходе с 8.0 на 8.1. Интерфейс со старой версией файла odecl.vih (текст здесь: http://www.tyumbit.ru/gal_forum/viewtop ... ight=odecl) не работает – компилится без вопросов, но при вызове выдаёт ошибку: «ошибка загрузки объекта из ресурсного файла(declension)». Тупо пробовал заменить #ifdef ATL51 на #ifdef ATL5208 – не помогло. Подскажите, что делать.
Да, вроде бы все есть или что-то не доходит. Чтобы не быть голословным, привожу тексты:
#include odecl.vih
interface s2
var
iOdecl : declension;
fio,f,i,o:string;
pad1:word;
create view as select * from grnal;
parameters
fio,
pad1
;
browse www
fields
grnal.nrec;
end;
handleevent
cminit:
{
f:=substr(fio,1,pos(' ',fio)-1);
fio:=substr(fio,pos(' ',fio)+1,length(fio));
i:=substr(fio,1,pos(' ',fio)-1);
fio:=substr(fio,pos(' ',fio)+1,length(fio));
o:=fio;
fio:=iodecl.SurNameDeclension(f,0,pad1,1)+' '+
iodecl.NameDeclension(i,0,pad1)+' '+
iodecl.PatronDeclension(o,0,pad1);
closeinterface(0);
}
end;
end.
А вот odecl.vih:
#ifdef ComponentVersion
#component "z_Staff"
#end
objinterface odeclension;
function SurNameDeclension(LName: string; gender: word; NCase: word; NPart: byte): string;
function NameDeclension(FName: string; gender: word; NCase: word): string;
function PatronDeclension(PName: string; gender: word; NCase: word): string;
function FIODeclension(cpersons: comp; Infinitive: string; NCase: word): string;
function AddSimpleException(Target: string; ExceptType: byte): word;
procedure RunSimpleExceptionWindow;
function fndpersonsException(cpersons: comp; nCase: word): string;
function AddPersonalException(cpersons: comp; Target: string; nCase: word): word;
function DeletePersonalException(cpersons: comp; nCase: word): word;
function UpdatePersonalException(cpersons: comp; Target: string; nCase: word): word;
end;
objinterface odeclension1;
function VerifyGender(target: string): word;
end;
vipinterface declension implements odeclension, odeclension1;
#ifdef ATL5208
Licensed (free)
#end
Что не так?
#include odecl.vih
interface s2
var
iOdecl : declension;
fio,f,i,o:string;
pad1:word;
create view as select * from grnal;
parameters
fio,
pad1
;
browse www
fields
grnal.nrec;
end;
handleevent
cminit:
{
f:=substr(fio,1,pos(' ',fio)-1);
fio:=substr(fio,pos(' ',fio)+1,length(fio));
i:=substr(fio,1,pos(' ',fio)-1);
fio:=substr(fio,pos(' ',fio)+1,length(fio));
o:=fio;
fio:=iodecl.SurNameDeclension(f,0,pad1,1)+' '+
iodecl.NameDeclension(i,0,pad1)+' '+
iodecl.PatronDeclension(o,0,pad1);
closeinterface(0);
}
end;
end.
А вот odecl.vih:
#ifdef ComponentVersion
#component "z_Staff"
#end
objinterface odeclension;
function SurNameDeclension(LName: string; gender: word; NCase: word; NPart: byte): string;
function NameDeclension(FName: string; gender: word; NCase: word): string;
function PatronDeclension(PName: string; gender: word; NCase: word): string;
function FIODeclension(cpersons: comp; Infinitive: string; NCase: word): string;
function AddSimpleException(Target: string; ExceptType: byte): word;
procedure RunSimpleExceptionWindow;
function fndpersonsException(cpersons: comp; nCase: word): string;
function AddPersonalException(cpersons: comp; Target: string; nCase: word): word;
function DeletePersonalException(cpersons: comp; nCase: word): word;
function UpdatePersonalException(cpersons: comp; Target: string; nCase: word): word;
end;
objinterface odeclension1;
function VerifyGender(target: string): word;
end;
vipinterface declension implements odeclension, odeclension1;
#ifdef ATL5208
Licensed (free)
#end
Что не так?