Скачал триалку XE8 скомпилировал рабочий исходник , элементы дерева кроме корневых не видны, корневой элемент открываешь там пустая сторка... Из за чего такое может быть?(в XE7 все ок). Еще общая проблема если попробовать вставить картинку как в примере почему то под андроидом приложение закрывается долго думая...
constructor TNode.Create(Owner: TComponent; const aText: String;
const im: TStringStream);
begin
inherited Create(Owner);
Self.Text := aText;
FImage := TImage.Create(Owner);
Self.AddObject(FImage);
FImage.Align := TAlignLayout.Right;
if aImageFileName <> nil then
FImage.Bitmap.LoadFromStream(im);
FImage.SendToBack;
end;
...................
if Xml.ChildNodes['Розница'].ChildNodes[i].NodeName <> null then
begin
s9 := Xml.ChildNodes['Розница'].ChildNodes[i].Attributes['Наименование'];
Item:=TTreeViewItem.Create(tv);
item.Text:=s9;
Item.Parent:=tv;
for j := 0 to Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes.Count-1 do
Begin
s9:=Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].Attributes['Требование' ]+' от '+Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].Attributes['Да та'];
Itemt:=TTreeViewItem.Create(tv);
itemt.Text:=s9;
Itemt.Parent:=Item;
for k := 0 to Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].ChildNodes.co unt-1 do
Begin
s9:=Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].ChildNodes[k].Attribu tes['Заказ']+':'+Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].Chil dNodes[k].Attributes['ЗаказСумма'];
Itemz:=TTreeViewItem.Create(tv);
itemz.Text:=s9;
Itemz.Parent:=Itemt;
/////////////////////////////////////////картинка
for l := 0 to Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].ChildNodes[k].ChildNodes.count -1 do
Begin
s9:= Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].ChildNodes[k].ChildNodes[l].ChildValues['Izd'];
s8:=Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].ChildNodes[k].ChildNodes[l].ChildValues['Pic'];
if pos('Binary',s8)>0 then
Begin
pi := (TresourceStream.Create(0, 'balalayka',
PChar(RT_RCDATA)));
ss:=TStringStream.Create;
ss.LoadFromStream(pi);
pi.Free;
End else
Begin
ss:=TStringStream.Create;
decode.DecodeStream(s8,ss);
end;
ss.Position:=0;
Itemi:=TNode.Create(tv,s9,ss);
itemi.Text:=s9;
Itemi.Parent:=Itemz;
// Itemi.IsExpanded:=true;
Itemz.AddObject(Itemi);
// itemz.IsExpanded:=true;
ss.Free;
// itemi.Destroy;
// itemi:=nil;
End;
//////////////////////////////////////////
Itemt.AddObject(Itemz);
End;
Item.AddObject(Itemt);
End;
tv.AddObject(Item);
end;
end;
tv.EndUpdate;
Вопрос
Syb
Скачал триалку XE8 скомпилировал рабочий исходник , элементы дерева кроме корневых не видны, корневой элемент открываешь там пустая сторка... Из за чего такое может быть?(в XE7 все ок). Еще общая проблема если попробовать вставить картинку как в примере почему то под андроидом приложение закрывается долго думая...
constructor TNode.Create(Owner: TComponent; const aText: String; const im: TStringStream); begin inherited Create(Owner); Self.Text := aText; FImage := TImage.Create(Owner); Self.AddObject(FImage); FImage.Align := TAlignLayout.Right; if aImageFileName <> nil then FImage.Bitmap.LoadFromStream(im); FImage.SendToBack; end; ................... if Xml.ChildNodes['Розница'].ChildNodes[i].NodeName <> null then begin s9 := Xml.ChildNodes['Розница'].ChildNodes[i].Attributes['Наименование']; Item:=TTreeViewItem.Create(tv); item.Text:=s9; Item.Parent:=tv; for j := 0 to Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes.Count-1 do Begin s9:=Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].Attributes['Требование' ]+' от '+Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].Attributes['Да та']; Itemt:=TTreeViewItem.Create(tv); itemt.Text:=s9; Itemt.Parent:=Item; for k := 0 to Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].ChildNodes.co unt-1 do Begin s9:=Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].ChildNodes[k].Attribu tes['Заказ']+':'+Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].Chil dNodes[k].Attributes['ЗаказСумма']; Itemz:=TTreeViewItem.Create(tv); itemz.Text:=s9; Itemz.Parent:=Itemt; /////////////////////////////////////////картинка for l := 0 to Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].ChildNodes[k].ChildNodes.count -1 do Begin s9:= Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].ChildNodes[k].ChildNodes[l].ChildValues['Izd']; s8:=Xml.ChildNodes['Розница'].ChildNodes[i].ChildNodes[j].ChildNodes[k].ChildNodes[l].ChildValues['Pic']; if pos('Binary',s8)>0 then Begin pi := (TresourceStream.Create(0, 'balalayka', PChar(RT_RCDATA))); ss:=TStringStream.Create; ss.LoadFromStream(pi); pi.Free; End else Begin ss:=TStringStream.Create; decode.DecodeStream(s8,ss); end; ss.Position:=0; Itemi:=TNode.Create(tv,s9,ss); itemi.Text:=s9; Itemi.Parent:=Itemz; // Itemi.IsExpanded:=true; Itemz.AddObject(Itemi); // itemz.IsExpanded:=true; ss.Free; // itemi.Destroy; // itemi:=nil; End; ////////////////////////////////////////// Itemt.AddObject(Itemz); End; Item.AddObject(Itemt); End; tv.AddObject(Item); end; end; tv.EndUpdate;
Изменено пользователем Syb0 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.