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

Kitty

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

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

  • Посещение

  • Победитель дней

    16

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

  1. Большое спасибо, этот вариант у меня работает. Вижу рамку. :)

    Для меня самое важное это разобраться как работать со стилями в мобильном приложении. Подскажите, пожалуйста, из какого дефолтного файла Вы взяли нужный кусок кода стиля donetoolbutton?

  2. У меня не работает. :(

    Мой новый стиль donetoolbuttonrec не отображается.

    Вообще происходят странные вещи. В первом окне нажимаю Apply в редакторе стиля. Затем закрываю RAD и открываю снова. Вижу что имя поменялось (рис).

     

    post-132-0-40945100-1409033539_thumb.jpg

  3.  

    3. Бросаю две SpeedButton, у одного набираю в StyleLookUp = mydonetoolbutton,

     

    Сделала по пунктам как у Вас. StyleBook присвоила форме. Однако у кнопки в выпадающем списке StyleLookUp нет моего нового стиля. Что и где подправить? С++ Builder XE6.

  4. Большое спасибо!

     

    Открыла в Блокноте AndroidSterling.style. Есть запись:

      object TLayout
        StyleName = 'donetoolbutton'
        Align = Contents
        Height = 50.000000000000000000
        Width = 50.000000000000000000
        FixedHeight = 48

     

    Как правильно сюда добавить рамку? Не могли бы Вы выложить рекомендации как это правильно делать?

    Моя попытка была такая - открыла этот файл в StyleBook и затем добавила к стилю donetoolbutton компонент Rectangle align=Client. Как дальше вычленить нужный мне кусок кода из этого дизайнера я не понимаю. :(

  5. Есть. В стиле по default

     

     

    В каком файле храниться стиль андроид default?

    Тут его нет: C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\Redist\styles\Fmx\Light.Style

     

     

    Скачала архив с AndroidLight.vsf

    1. Хочу открыть AndroidLight.vsf в Блокноте, найти стиль donetoolbutton, скопировать его в новый файл и отредактировать его под свои нужды.

    Однако в блокноте этот файл выглядит не как текстовый. Не могу в нем найти нужную секцию.

    2. Открываю AndroidLight.vsf в программе Bitmap Style Designer. Как вычленить в отдельный текстовый файл информацию которая относиться к donetoolbutton, чтобы потом загрузить этот файл в StyleBook?

  6.  

    2. Раз Ваш проект под Android, то можно загрузить стиль KitKatStyle_XE5, а именно AndroidDark.style или AndroidLight.style

    Там уже есть стиль donetoolbutton и Вам потребуется сделать его дубль и соответствующие изменения,

    либо изменить просто его так как Вам требуется

     

    У меня не получаетмя реализовать этот вариант. Проблема в том, что этих файлов AndroidDark.style/AndroidLight.style на моем компьютере нет, поэтому я не могу найти файл в котором могла бы посмотреть как устроен андроид стиль donetoolbutton и соответственно отредактировать его.

    Наверное эти файлы надо скачивать откуда-то отдельно?

  7.  

    Самый простой способ - отредактировать стиль, добавив копию "donetoolbutton"

     

    Где взять оригинал стиля donetoolbutton?

     

    1. Создаю новый мобильный проект.

    2. На форму добавляю кнопку StyleLookup=donetoolbutton.

    3. Добавляю на форму TStyleBook, чтобы в будущем добавить в TStyleBook фрагмент стиля.

    4. Открываю в блокноте файл стиля C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\Redist\styles\Fmx\Light.Style

    В файле нет записи donetoolbutton...

    В каком файле искать стиль donetoolbutton?

    Спасибо.

  8. Спасибо за рекомендации.

     

     

    В случае с мобильными проектами, необходимо кидать на форму компонент TStyleBook, в него подгружаете необходимый стиль и прописываете StyleBook в форме,

     

    Хотелось бы здесь получить доп. разъяснения...

    Евгений Крюков автор FMX, в видео ролике который я привела выше, говорит что загружать полностью стиль в TStyleBook не правильная практика. TStyleBook только для малого числа местных локальных изменений. Хранить полностью стиль TStyleBook не верно, или для мобильных проектов эти рекомендации для TStyleBook не имеют значения? 31 минута 10 секунда видео...

  9. Можно ли показать пошаговый урок работы со стилями для моей ситуации?

    Я смотрела это видео по работе со стилями: https://www.youtube.com/watch?v=eqrVYWZ8SPk

    В этом видео щелкают в дизайне по кнопке правой клавишей мыши и там есть пункт Edit Custom Style. Выбрав этот пункт можно изменить кнопку по своему вкусу. В моем Андроид приложении при выборе кнопки этого пункта в меню правой кнопки нет, поэтому я не понимаю как изменить стиль. :(

  10. Примеры там(в pdf и справке) вроде на Delphi и на C++

    Прошу меня извинить. Я за это время так привыкла, что С++ пинают ногами, что даже не предполагала что там есть дубликаты кода на С++.

    Тем не менее для наших студентов и школьников очень бы хотелось иметь полное руководство и на русском.

    Спасибо.

     

    Поэтому проще выучить английский язык...

    Это не ко мне, а к студентам и школьникам будущим пользователям embarcadero.

  11. Поскольку основное отделение разработки FM, базируется в России, то существует ли вероятность того, что когда нибудь появиться подробное руководство на русском языке и с примерами которые были бы не только на паскале но и на С++?

    Спасибо.

     

    P.S.

    У движка форума есть недочет. У меня написано что я Продвинутый пользователь. В FM я не Продвинутый пользователь, а полный zero. :)

  12. Моя программа из главного своего окна, при нажатии на кнопку, по таймеру запускает MX медиа плеер. MX медиа плеер начинает воспроизводит видео. Все работает отлично, спасибо FM! Существует ли возможность у моей программы распознать, если пользователь нажимает кнопки, показанные на рисунке в момент, когда МХ плеер показывает видео? Существует ли возможность, например, показать ShowMessage при нажатии на одну из этих кнопок?

    Спасибо.

    post-132-0-92110300-1408007193.jpg

  13. Да, ваш выглядит правильнее.

    В С++ Builder нужен delete. Может это и не так для мобильной формы, но теперь я думаю с учетом ваших замечаний мне надо написать так:

    #ifndef UnitMainFormH
    #define UnitMainFormH
    //---------------------------------------------------------------------------
    #include <System.Classes.hpp>
    #include <FMX.Controls.hpp>
    #include <FMX.Forms.hpp>
    #include <FMX.StdCtrls.hpp>
    #include <FMX.Types.hpp>
    
    #include "UnitSecondForm.h"
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published:    // IDE-managed Components
        TButton *Button1;
        void __fastcall Button1Click(TObject *Sender);
    private:    // User declarations
    public:        // User declarations
        __fastcall TForm1(TComponent* Owner);
        TForm2 * SecondForm;
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif
    
    
    #include <fmx.h>
    #pragma hdrstop
    
    #include "UnitMainForm.h"
    
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.fmx"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     //создаем вторую форму
     SecondForm = new TForm2(this);
     Form2->Show();
    }
    

    Во второй форме

    #include <fmx.h>
    #pragma hdrstop
    
    #include "UnitSecondForm.h"
    #include "UnitMainForm.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.fmx"
    TForm2 *Form2;
    //---------------------------------------------------------------------------
    __fastcall TForm2::TForm2(TComponent* Owner)
    	: TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm2::Button1Click(TObject *Sender)
    {
     Close();
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)
    {
     if(Form1->SecondForm)
    	 {
    	  delete Form1->SecondForm;
    	  Form1->SecondForm = NULL;
         }
    }
    
  14. Если бы поддерживался ShowModal, то я бы считала свой код правильный. Сейчас мне не понятно как работает новая форма для мобильного приложения.

    Проход по точкам останова показал, что сразу за Show вызывается мой delete, тем не менее, форма остается на экране. Я ее затем закрываю отдельной кнопкой кодом Close(). В принципе это то, что мне нужно.

    Я решила пока оставить свой код как есть, наверное, он правильный.

  15. Большое спасибо! Моя невнимательность.

    Я так понимаю в моем коде правильнее использовать this?

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     //создаем вторую форму
     TForm *Form2 = new TForm2(this);
     Form2->Show();
     if(Form2)
       {
    	delete Form2;
    	Form2 = NULL;
       }
    }
    

    ShowModal не поддерживается. Правильно ли удаляю после вызова Show?

  16. Я хочу использовать вторую форму в андроид проекте. Чтобы не расходовалась память, я хочу вызывать эту форму в момент необходимости. Мои действия:

    1. Добавляю новую форму в андроид проект через File->New...

    2. В опциях проекта переношу эту форму в Project->Options->Forms переношу в Avaible forms.

    3. Добавляю в проект #include "Unit2.h"

    4. Пишу код вызова:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     //создаем вторую форму
     TForm *Form2 = new TForm(0);//здесь надо this или лучше 0 для андроид проекта?
     Form2->Show();//здесь можно ShowModal?
     delete Form2;
     Form2 = NULL;
    }
    
    

    Получаю ошибку:

    First chance exception at $4A1C41E9. Exception class EResNotFound with message 'Resource TForm not found'. Process ProjectForm.apk (849)

    Подскажите, пожалуйста, как добавить форму правильно чтобы она не занимала места в памяти без необходимости?

  17. Я думаю проблемы начинаются после 400 строк...

    В С++ Builder XE7 ситуация не поменялась. Когда в проекте много строк подсказки перестают работать.

    Не понятно, зачем декларировать поддержку С++ если никто из команды Embarcadero не создает большие мобильные проекты и не тестит их на языке C++?

  18. Спасибо, большое.

    Еще такой вопрос по интерфейсу Master-Detail:

    Вот тут демонстрация приложения созданного на Дельфи: https://www.youtube.com/watch?v=H37c-TjaFa8

    Можно пошаговый урок, как создается такой мобильный интерфейс выдвижных панелек?

  19. Нет, это проблема не в порядке хидеров. Проблема периодически возникает в проекте, где накопился код (используется STL). Временно помогает создание нового проекта десктоп. В новом проекте получить подсказку любой строкой кода (типа Panel1->…) и после этого вернуться в старый проект. Тут явная проблема самой IDE C++ Builder в мобильных проектах для андроида. На начальном этапе все было отлично. Проблема проявилась когда накопился код в проекте. Мало того, иногда движение мышки с попыткой выделить код приводит к падению всей IDE.

    Будем ждать Update 2 :)

×
×
  • Создать...