-
Помогите разобраться Я загружаю в список TModel=record значения переменных, при етом всё сохраняется как надо. А когда обращаюсь к TModel=record из других функций, то все значения уже равны 0.
-
Может заменить списки массивами??????????????
-
Может уже покажешь код?????????
-
type TNode=record name:string; // название кости, которая крепится к суставу parentsustav:integer; // индекс кости, к которому прикреплён сустав end;
type TBonePos=record ugolx:integer; ugoly:integer; ugolz:integer; x,y,z:single; end; type TSkelAnim=record sustav : array [0..100] of TNode; nodesNum : integer; referencePose: array [0..100] of TBonePos; / end;
type TModels = array [0..1] of TModel;
-
type TNode=record name:string; // название кости, которая крепится к суставу parentsustav:integer; // индекс кости, к которому прикреплён сустав end;
type TBonePos=record ugolx:integer; ugoly:integer; ugolz:integer; x,y,z:single; end; type TSkelAnim=record sustav : array [0..100] of TNode; nodesNum : integer; referencePose: array [0..100] of TBonePos; / end;
type TModel=record fname:string; skelanim:TSkelAnim; end;
type TModels = array [0..1] of TModel;
-
> DoKi
42
-
> А когда обращаюсь
Где код обращения ?
-
вот
assignFile(f,fname); reset(f);
readln(f,s); // "version 1" readln(f,s); // "nodes"
i:=0;
repeat readln(f,s); if s<>'end' then begin models[0].skelanim.sustav[i].name:=StringWordGet(s, '"', 2); //writeln(F2, models[0].skelanim.sustav[i].name,' '); models[0].skelanim.sustav[i].parentsustav:=StrToInt(StringWordGet (s, '"', 3)); inc(i); end; until s='end';
всё грузится правильно,а в из другой функции уже не читается. Если например нужно напечатать в фаил for i:=0 to 10 do writeln(F2, models[0].skelanim.sustav[i].parentsustav);
всё будет по нулям.
-
Похоже что функция записи и функция чтения оперируют разными массивами с именем models
|