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

d7d1cd

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

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

  • Посещение

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

    7

Весь контент d7d1cd

  1. Zuby, спасибо за код. Буду пробовать. Как не бился, так и не смог перевести код на С++. Объект, который создается функцией CreateOleObject не содержит функции ConnectServer . Что я не так делаю?
  2. d7d1cd

    Простая защита программы

    Привет всем. Есть необходимость сделать защиту программы так, чтобы она выполнялась только на одном компьютере. Думаю привязать ее к серийному номеру материнской платы. Сначала покупатель с помощью моей утилиты пришлет мне номер, а потом я его внедрю в продаваемую программу. Вопрос: как программно узнать этот номер? P.S. Давайте только не будем обсуждать то, что эту защиту обойдет даже начинающий хакер.
  3. Вы не прикрепляйте весь свой проект на 10 килострок. Создайте тестовый проект и попробуйте в нем воспроизвести глюк, который наблюдается в рабочем проекте. Потом этот тестовый проект прикрепляйте сюда.
  4. Это происходит по той же причине, по какой, например, MS Word первый раз грузится относительно долго, а после его закрытия и повторного открытия загрузка происходит значительно быстрее.
  5. Ну у меня был просто пример. А так можно и деление на ноль прописать и просто потом поймать исключение. Так что приводить типы классов, я считаю, надо только через dynamic_cast, а еще можно через static_cast. Как правильнее я не знаю. Думаю, что dynamic_cast выполняет приведение типов во время выполнения программы, а static_cast выполняет проверку допустимости приведения типов на этапе компиляции. Бородатый анекдот в тему. Программист должен предусмотреть все варианты развития событий. И когда он ложится спать, то должен поставить на тумбочку 2 стакана: один с водой, один пустой. С водой на случай если ночью захочется пить, пустой на случай если не захочется.
  6. Если Вам не нужно приводить переменную одного класса к переменной другого класса, то и использование dynamic_cast Вам не понадобится. Про приведение типов: void __fastcall TForm1::Button1Click(TObject *Sender) { double dbl = 123.45; int i = (int)dbl; // Приведение значения типа double к значению типа int TButton *btn = dynamic_cast<TButton*>(Sender); // Приведение объекта типа TObject к объекту типа TButton ShowMessage(L"Нажата кнопка с именем " + btn->Name); // Нельзя привести типы классов так: TButton *btn = (TButton*)Sender; }
  7. Видимо в Embarcadero услышали Вас, Gingercat. Посему и убрали раздражение . Однако нет худа без добра: теперь я знаю сочетание Ctrl + пробел, которое оказалось очень удобным! Всем спасибо за обсуждение.
  8. Это было в старых версиях. Сто процентов.
  9. То, что Вы говорите я и так знаю. Однако, если набрать в редакторе int i = StrToInt( то суфлер не показывает параметры функции StrToInt. Эту проблему можно решить набрав StrToInt (без открывающей скобки) и нажать Ctrl + пробел. Суфлер при этом выведет все функции, которые начинаются с StrToInt. Выбираем нужную функцию, жмем Enter и суфлер вставит скобки и выведет подсказки для параметров. Однако в предыдущих версиях системы подсказки появлялись сами при вводе открывающей скобки функции. Это где-то отключено (как тогда включить?) или это в принципе убрали из новой версии системы?
  10. Привет всем. У меня в C++Builder 10 Seattle не работает суфлер кода. Точнее, он не полностью работает. Функции и переменный класса, при доступе через -> или он показывает. А вот при вводе открывающей скобки функции, суфлер не показывает параметры этой функции. Подскажите, где включить это?
  11. Спасибо за ссылку. Нашел решение проблемы. Глюк появляется после того, как на странице Tools->Options->Editor Options->Source Options снимается галка Highlight current line. Так что снимать ее нельзя. Если необходимо, все-таки, отключить подсветку текущей строки, то необходимо на странице Tools->Options->Editor Options->Color в списке Element выбрать Line Highlight и в списке Background color выбрать цвет, совпадающий с цветом фона.
  12. d7d1cd

    Баг редактора кода

    Привет всем. Установил C++Builder XE10 и обнаружил баг редактора кода. Если щелкать мышью по введенному коду, то сначала ничего интересного не происходит: курсор ввода перемещается туда, где щелкнули мышью. Однако, если прокрутить код мышью и снова пощелкать, то в месте щелчка появляется какая-либо строка кода из этого же файла. Причем на самом деле этой строки нет, она только на экране. Если выделить текст, то все пропадает. Никто не знает как это побороть? И еще, где взять обновление Update 1?
  13. ИМХО, цельный компилятор надо написать для этого...
  14. Спасибо за помощь. А нельзя ли привести код на С++, если есть время?
  15. Однажды я продал свою программу (жаль, что только однажды). Для защиты от копирования я ее продал с электронным ключом в виде флешки. Без этого ключа программа не запускалась. Причем это уже более менее серьезная защита (как уверял производитель ключа).
  16. Спасибо вам, уважаемые, за помощь! Буду пытаться сделать что-то сам . Но вопросы будут. В дальнейшем.
  17. Спасибо, буду пробовать.
  18. Вы резво начали . Давайте потихоньку. Я создаю проект. Какие компоненты IBX необходимы? И, кроме этого, как использовать библиотеку Embedded сервера?
  19. Я не работал ни с одной базой данных, поэтому надо с чего-то начать. Решил начать с Firebird: кое-какие знания по этой СУБД я имею. Поэтому прошу вас не переубеждать меня в выборе, ибо всегда можно найти человека, который поддержит меня и скажет, что FB - лучше всех! Но порошу вас помочь в начале работы. Итак, мне необходимо написать программу со встроенным сервером FB. Программа должна будет выводить на экран содержимое базы данных, а так же добавлять данные и удалять их. Для начала в IBExpert я создал файл базы данных. В базе у меня одна таблица с именем TABLE, которая состоит из двух полей ID и FIELD. Поле ID - ключевое поле с генератором значений. Поле FIELD текстовое поле с длиной 50 символов. Теперь вопрос: как добавить в эту БД строку?
  20. Я в базах данных полный ноль. Поэтому прошу прощения за неправильные объяснения - я, повторюсь, многого не знаю. Поразмыслив, я пришел к выводу, что мне необходимо работать с базой данных без установки СУБД. Чтобы пользователь запустил мою программу, не устанавливая больше ничего у себя на компьютере. Как я понял, в Firebird это возможно, используя архитектуру сервера Embedded (когда весь движок содержится в одной библиотеке). Я правильно все понимаю?
  21. "размечтались работать с файлом напрямую ))" - это вы про себя или про других? Я не хотел работать с файлом базы данных напрямую, вообще то...
  22. Спасибо тебе, добрый человек! Либо я чего-то не понимаю, либо читающие. Когда я писал про сервер, то это означало, что на компьютере с базой данных установлена программа, которая запускалась как сервис. Эта программа и работала непосредственно с файлом базы данных. Компьютер с этой программой и файлом базы данных и есть сервер. Почитайте тут https://ru.wikipedia.org/wiki/Firebird Вопрос всем: уважаемые, кто-нибудь из вас работал с базой данных Firebird? Не с какой-то другой, а именно с этой базой данных?
  23. Зато 2 анимации . Хотя твой метод может быть и с одной анимацией.
  24. У меня есть похожий вопрос. На форме размещен TLayout, а на нем кнопка (у кнопки родитель - TLayout). У кнопки HitTest = true. При обработке события OnClick TLayout выполняется такой код: void __fastcall TForm1::Layout1Click(TObject *Sender) { int CompCount = static_cast<TLayout*>(Sender)->ComponentCount; } После выполнения кода значение переменной CompCount равно нулю. После экспериментов я выяснил, что переменная ComponentCount у всех контролов равна нулю. Только у формы она равна количеству расположенных на ней контролов. Скажите, почему так происходит?
×
×
  • Создать...