Перейти к содержанию
Fire Monkey от А до Я

Alzon

Пользователи
  • Постов

    11
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Alzon

  1.  В описании редакции Delphi Pro есть пункт "Создание приложений для баз данных с локальным и встроенным подключением", возможно ли там реализовать приложение с подключением к MSSQL Server? http://www.embarcadero.com/ru/products/delphi/product-editions#nofollow/1/

  2. Раньше для хранения контента контрола (в контент входят привязки, события, файлы всякие) делал общий базовый класс с паблишед свойствами(для сериализации) и от него пораждал все свои графические контролы.
    Теперь в XE7 думал завязать контент на TagObject и в хелпере для TControl в паблишед прописать хранимый контент - не тут то было. 
    Паблишед свойства хелпера оказывается не сериализуются, а TagObject бывает занят на некоторых сторонних контролах 
    похоже, что прийдется опять создавать сотню оберток на все графические контролы?
     
    Может есть какой новомодный способ хранить что-то на любых контролах?
  3. Сто тысяч элементов :blink:

    Не уверен, что какой-либо компонент, кроме VirtualTreeView способен на такое "быстро", но он - только под винду.

    Пожалейте пользователя - ему явно не нужно столько элементов. Может, стоит пересмотреть UI? В очень редких случаях нужно отображать более 100 (для десктопа) и 20-30 (для мобильных платформ), юзер все равно не охватит такое количество ни взглядом, ни своей оперативкой :)

    И - если у Вас дерево одноуровневое, судя по примеру (понятно, что он упрощен) - может, лучше задействовать listView?

    Приложение под винду. VirtualTreeView только под VCL, а мне нужно под FMX. Дерево будет многоуровневым (listView не подходит) и с иконками.

  4. Добавляю в цикле 10000 итемов в  TreeView (FMX). Очень долго заполняется. Есть ли какой-нибудь способ для ускорения или другой компонент для отображения дерева?

     

    procedure TForm1.Button1Click(Sender: TObject);
    var I    : Integer;
        Item : TTreeViewItem;
    begin
    TreeView1.BeginUpdate;
    for i := 0 to 99999 do
      begin
      item:= TTreeViewItem.Create(nil);
         with item do
           begin
             Parent := TreeView1;
             Text := 'Item_' + IntToStr(i);
           end;
      end;
     TreeView1.EndUpdate;
    end;
  5. Функция сериализации:

    function ComponentToString(Component: TComponent): string;
    var BinStream:TMemoryStream;
        StrStream: TStringStream;
    begin
      if Component=nil
       then Exit;
      BinStream := TMemoryStream.Create;
      try
        StrStream := TStringStream.Create;
        try
          NativeWriteComponent(BinStream, Component);
          BinStream.Seek(0, soFromBeginning);
          ObjectBinaryToText(BinStream, StrStream);
          StrStream.Seek(0, soFromBeginning);
          Result:= StrStream.DataString;
        finally
          StrStream.Free;
        end;
      finally
        BinStream.Free
      end;
    end;

    падает с ошибкой "Stream read error"  в ObjectBinaryToText(BinStream, StrStream), если в DefineProperties добавляю строку  Filer.DefineProperty('DocX',ReadThing, WriteThing, true);

    procedure TSVGControl.DefineProperties(Filer: TFiler);
    begin
      inherited DefineProperties(Filer);
      Filer.DefineProperty('DocX',ReadThing, WriteThing, true);
    end;

    может кто-нибудь подсказать что я делаю не так?

    (проект на FMX)

    test_Serialization.zip

  6. не могу импортировать класс из bpl в Delphi XE7 при  "Link with runtime pakages" - false;  :(
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
     LoadPackage('Package2.bpl');
      if GetClass('TMyClass')<> nil then
       showmessage('найден TMyClass');
    end;
     
    Может кто уже сталкивался ...?
    Проект на FMX
×
×
  • Создать...