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

POV

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

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

  • Посещение

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

    5

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

  1.  

    Если Вам не нужно приводить переменную одного класса к переменной другого класса, то и использование dynamic_cast Вам не понадобится.

    Про приведение типов:

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    
     // Нельзя привести типы классов так: TButton *btn = (TButton*)Sender;
    }
    

    Отчего же?! Конечно так можно ))) .. но если это "сильно разные" компоненты, то произойдет исключение. При dynamic_cast будет красивый и безопасный Nil в указателе.

  2. как примитивный вариант- запустить проект под отладчиком - и поостанавливать в случайные моменты времени - в большом количестве остановок произойдет остановка в проблемном месте.

    Увы, если говорить, к примеру, об ошибке при запуске, то до кода дело не доходит. 

  3. Был себе проектик, не тужил.. давно я его не касался, а тут потребовалось пересобрать с одним мелким дополнением.

     

    И внезапно проект начал жрать 30% от 4х ядерной машины. Закомментил создание всего что динамически создаётся (фреймы, потоки и т.п.).Всё что осталось в работе - главная форма и пяток компонентов на ней. Всё равно 30% жрёт! 

     

    Куда копать, откуда приплыла проблема?

     

     

    P.S. Да, при этом прога запускается лишь если сделать build. После make при запуске выдаёт ошибку.

  4. нет Button.Click и слава богу. Наконец-то...

    потому что так не должно быть совсем

    нужно вызывать не обработчик кнопки а ту процедуру. которая должна вызываться в обработчике кнопки

    С чего бы это? Какие высокие материи заставляют отвязывать реализацию от интерфейса? Задача задаче рознь.

  5. ... а почему?

     

    Теперь, например, для вызова обработчика через Synchronize надо создавать дополнительную процедуру вида

    procedure TForm1.bSyncronize;
    begin
      Button1.OnClick(Nil);
    end;
    которая далее вызывается как
    TThread.Synchronize(Nil, bSyncronize);
     
    И это вместо логичного
    TThread.Synchronize(Nil, Button1.Click);
     
  6. Решил посмотреть что такое новая версия.. так вот никакими усилиями не могу заставить проект (с++билдер) работать на других компах.

     

    link with runtime package галочка снята

    link with dynamic trl галочка снята

     

     

    Проект - мультиплатформенный 3Дэ. Исполняемый файл весит черти сколько, всё в себя вобрал, однако ругается что не найден borlandmm.dll

     

     

    P.S. Сделал два пустых 3Д проекта (делфи и билдер). Просто на форму бросил Chart3D.

    Сишный экзешник весит 8 метров,а  делфовый 26.

     

    И, конечно же, первый не работает, второй запускается где угодно.

     

    Тигру в клетке не докладывают мяса библиотек!

  7. Соответственно, при проектировании не должно быть 3D (как на рисунке), а мы должны видеть лишь первую грань.

     

    Как рабочий вариант, Mesh можно сплющить.. но хотелось бы чего-то человеческого.

    post-982-0-49054200-1449152938.png

  8. Создал объект (рис. 1). Хочу "поглядеть" на него сверху, но .. без 3D. Чтобы на экране я получил плоскую картинку, без учёта направления зрения на каждый пиксель. А то получается как на рис.2.

     

    P.S.  В разделе "3D" Tmesh к сожалению не представлен.

    post-982-0-84966700-1449152650.png

    post-982-0-69880800-1449152654.png

  9.  

     

    И уж точно из нее можно понять, что ваш процент в 99,5 очень завышен

    Ну, на пару процентов я может и загнул ) Тем не менее возбуждение какое-то неискреннее.

    Впрочем, замнём вопрос.. это не по теме.

  10. Появления новых компонент можно только приветствовать!

    А в качестве флуда: меня удивило как возбудились присутствующие "оо, бесплатное, наконец-то!", как будто хоть один купил Delphi ))

     

    Я вот максимум 2007 студию купил, намучался с вечными проблемами регистрации, после чего плюнул и перешёл на условноворованное. Думаю, 99,5% и копейки не тратили на среду )

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