kami

Пользователи
  • Публикации

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

  • Посещение

  • Days Won

    22

Все публикации пользователя kami

  1. Вам же дали ссылку на Conditional Defines. Это именно то, что вы спрашивали - что под какой платформой неявно задефайнено.
  2. Для создаваемых в runtime элементов не используйте свойство name, это действительно чревато вам дубликатами. Оставляйте name пустым. Ориентируйтесь на что угодно другое, хоть различные вариации свойства tag[Object, string]
  3. небольшой фотоотчет. Будет время - напишу еще и результаты блиц-интервью участников. Начало встречи. потом было вот это ну и эпилог: на последнем фото, слева направо (без учета z-order): @kami @Error @Nik @Brovin Yaroslav
  4. Коллеги! Во флудильне в Телеграме Ярославом была озвучена великолепнейшая мысль - устроить сборище в начале июня в Питере. Возможные даты встречи (формат даты - dd.mm, всё - 2017 год): 03.06, 04.06, 10.06, 11.06. Предпочтительные даты выделены жирным. Прошу откликнуться, кто хочет и кто может присоединиться к встрече, уточнить предпочтительные для вас дату и время сбора. Место сбора по традиции выбирает Ярослав!
  5. Так, погода на завтра благоприятствует. Начиная с 12:00 вероятность дождя снижается и к началу встречи всё должно стать хорошо. Ввиду того, что предложение wamaco не встретило отклика у участников встречи - место и время встречи остаются теми же: 500 метров от метро Александра Невского, пивной ресторан Bier König Дата: 10.06.2017. Время (уже окончательно) 17:30.
  6. В Delphi это решается явным полным указанием типа, вот так: myRect: System.Types.TRect И uses модулей нужно поставить в правильном порядке, чтобы конфликтов было как можно меньше (ну и полное явное указание типа тогда использовать того, чего меньше )
  7. Господа! Место встречи определено: 500 метров от метро Александра Невского, пивной ресторан Bier König Дата: 10.06.2017. Время (пока - ориентировочно) 17:30. Возражения? Другие предложения? P.S. На всякий случай - адресная рассылка: @wamaco @Nik @Brovin Yaroslav @Error
  8. Не знаю... ни в D7, ни в D2010 не сталкивался с изменением dfm-ок в плане картинок. В том числе - в ImageList.
  9. Если я правильно понял, то таких багов уже зарепортена толпа. Начиная от того, что каждое сохранение формы со StyleManager (даже если на форме вообще ничего не трогали) приводит к практически полному изменению картинок в стиле. В любой системе контроля версий это видно великолепно. Задалбывает каждый раз выборочно ревертить изменения.
  10. Перевесило Главнокомандующий сказал, что 3 и 4 никак, посему - рассчитываем на 10.06.
  11. Так, если гора не идет к Магомету, то мы пойдем к горе. Взываю к @Brovin Yaroslav @RoschinSpb @Error Скажите свое веское слово, особенно - Ярослав, за которым еще и выбор места встречи
  12. Ну, создание - это еще пол беды. Основная беда - это запуск потока, переключение на него менеджером потоков. Кстати, судя по коду System.Threading - там как раз используется пул потоков. Они висят в ожидании "когда же нас озадачат" и после озадачивания - с радостным повизгиванием выполняют. Это к вопросу о
  13. А точно нужно дожидаться, пока все потоки отработают? Это не асинхронные задачи? В качестве еще одного варианта - воспользуйтесь interlocked-функциями. Главный поток определяет, сколько вторичных потоков он запустит. И выставляет нужное значение в integer-переменной. Каждый поток, завершив виток просчета вызывает InterlockedDecrement(ThreadCounter); При достижении нуля - из последнего вторичного потока вызывается TThread.Queue для сообщения главному потоку "все просчеты завершены". Ну и - потоки входят в спячку, например - на ожидании TEvent. А получив очередную порцию данных для просчета - выходят из ожидания события. Даже лучше не так: каждый поток при запуске делает InterlockedIncrement(ThreadCounter), не стоит главному потоку выставлять начальное значение, хватит с него и запуска вторичных потоков. А вот всё остальное - да, остается в силе.
  14. Если Windows - то это WaitForMultipleObjects в остальных случаях - см. TTask.WaitForAll
  15. лень было писать полностью, первая часть там копи-паст приведенного мной
  16. AND ((FieldDate<=D2) OR (D2 IS NULL))
  17. определена. Начало потока + 6 байт + количество байт, ушедших в строку. Правильнее будет сделать mm.CopyFrom(InStream, InStream.Size - InStream.Position); , но не суть. А вот с путаницей байты-символы это да, это печалька.
  18. один из комментов, остальное мусор: I also experienced this exception. I had to delete two glowanimations and then it did not except anymore (which is not really a solution).
  19. В первую очередь - ошибка в месте вызова Log.d Где производится запись в лог? Правильно, в конструкторе компонента. А где выставляются позиция и габариты? Да, после завершения работы конструктора. Когда Log.D уже отработал.
  20. userSelectedRowIndex:=grid.Selected; Или использовать OnSelectCell, там Row и Col выбранной ячейки доступны напрямую. Всё, строка (возможно - и колонка) получены, дальше дело за вашим кодом.
  21. Этот глюк идет в делфи с незапамятных времен. Я выхожу из ситуации так: если что-то нужно подправить визуально: 1 меняю предка на TFrame. 2 сохраняю модуль, заново его открываю (теперь дизайнер будет работать нормально, но естественно - не скомпилируется). 3 кидаю все что нужно на фрейм, настраиваю свойства и события 4 сохраняю 5 меняю предка опять на нужного и работаю с кодом (теперь компилироваться будет, но дизайнер опять недоступен). Иногда получается после п.2 выполнить 5 и дизайнер продолжает быть доступным. До закрытия вкладки с модулем.
  22. Вы слишком категоричны. 90% глюков, на которые разработчик отвечает "ну у меня же работает" все-таки связаны с недочетами в коде. Да, в этом недочете принимает участие конфигурация оборудования, установленного ПО, объема ОЗУ и т.д. и т.п. Но именно Вам придется "обходить" эту ситуацию, а не пользователю - менять конфигурацию. И стартом в этом направлении могут послужить рекомендации ENRGY.
  23. Нормативная документация (устав, цели, программа) Актуальные вопросы на предстоящую повестку дня на какой-нибудь сессии Обращения от граждан (хотя они гораздо чаще идут на конкретного представителя) "Внутреннее" голосование по какому-нибудь разрабатываемому документу / согласование уполномоченными должностными лицами А вообще - лучше всего уточнить у заказчика. Не "какой функционал должен быть у приложения" , "дайте ТЗ", а "давайте вместе подумаем / пофантазируем - вот у нас есть мобильное приложение. И мы будем его использовать для / чтобы ...". Причем это лучше делать не в письменной форме, а при личной встрече (при наличии такой возможности).