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

d7d1cd

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

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

  • Посещение

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

    7

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

  1. Zuby, спасибо за код. Буду пробовать.

     

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

  2. Привет всем. Есть необходимость сделать защиту программы так, чтобы она выполнялась только на одном компьютере. Думаю привязать ее к серийному номеру материнской платы. Сначала покупатель с помощью моей утилиты пришлет мне номер, а потом я его внедрю в продаваемую программу. Вопрос: как программно узнать этот номер?

     

    P.S. Давайте только не будем обсуждать то, что эту защиту обойдет даже начинающий хакер.

  3. Вы не прикрепляйте весь свой проект на 10 килострок. Создайте тестовый проект и попробуйте в нем воспроизвести глюк, который наблюдается в рабочем проекте. Потом этот тестовый проект прикрепляйте сюда.

  4. Может кто подскажет.

    Запускаю приложение на iPhone, открываю всякие там формы, делаю выборки из БД, показываю и скрываю объекты. 

    Если это делается первый раз, то это как-то медленно все выполняется, Если такая операция выполнялась ранее, то она выполняется быстро.

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

    Это происходит по той же причине, по какой, например, 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. При ручному написанию Memo1->Lines->Add( суфлёр не работает. Нужно при наборе Memo1->Lines->Add нажать <Enter> (на подсказку), а там оно скобки сама расставит. И суфлёр тоже будет показывать.

    То, что Вы говорите я и так знаю. Однако, если набрать в редакторе

    int i = StrToInt(
    

    то суфлер не показывает параметры функции StrToInt. Эту проблему можно решить набрав StrToInt (без открывающей скобки) и нажать Ctrl + пробел. Суфлер при этом выведет все функции, которые начинаются с StrToInt. Выбираем нужную функцию, жмем Enter и суфлер вставит скобки и выведет подсказки для параметров. Однако в предыдущих версиях системы подсказки появлялись сами при вводе открывающей скобки функции. Это где-то отключено (как тогда включить?) или это в принципе убрали из новой версии системы?

  8. Привет всем. У меня в C++Builder 10 Seattle не работает суфлер кода. Точнее, он не полностью работает. Функции и переменный класса, при доступе через -> или он показывает. А вот при вводе открывающей скобки функции, суфлер не показывает параметры этой функции. Подскажите, где включить это?

  9. Спасибо за ссылку. Нашел решение проблемы. Глюк появляется после того, как на странице Tools->Options->Editor Options->Source Options снимается галка Highlight current line. Так что снимать ее нельзя. Если необходимо, все-таки, отключить подсветку текущей строки, то необходимо на странице Tools->Options->Editor Options->Color в списке Element выбрать Line Highlight и в списке Background color выбрать цвет, совпадающий с цветом фона.

  10. Привет всем. Установил C++Builder XE10 и обнаружил баг редактора кода. Если щелкать мышью по введенному коду, то сначала ничего интересного не происходит: курсор ввода перемещается туда, где щелкнули мышью. Однако, если прокрутить код мышью и снова пощелкать, то в месте щелчка появляется какая-либо строка кода из этого же файла. Причем на самом деле этой строки нет, она только на экране. Если выделить текст, то все пропадает. Никто не знает как это побороть? И еще, где взять обновление Update 1?

  11. Однажды я продал свою программу (жаль, что только однажды). Для защиты от копирования я ее продал с электронным ключом в виде флешки. Без этого ключа программа не запускалась. Причем это уже более менее серьезная защита (как уверял производитель ключа).

  12. Я не работал ни с одной базой данных, поэтому надо с чего-то начать. Решил начать с Firebird: кое-какие знания по этой СУБД я имею. Поэтому прошу вас не переубеждать меня в выборе, ибо всегда можно найти человека, который поддержит меня и скажет, что FB - лучше всех! Но порошу вас помочь в начале работы.

     

    Итак, мне необходимо написать программу со встроенным сервером FB. Программа должна будет выводить на экран содержимое базы данных, а так же добавлять данные и удалять их. Для начала в IBExpert я создал файл базы данных. В базе у меня одна таблица с именем TABLE, которая состоит из двух полей ID и FIELD. Поле ID - ключевое поле с генератором значений. Поле FIELD текстовое поле с длиной 50 символов.

     

    Теперь вопрос: как добавить в эту БД строку?

  13. Я в базах данных полный ноль. Поэтому прошу прощения за неправильные объяснения - я, повторюсь, многого не знаю.

    Поразмыслив, я пришел к выводу, что мне необходимо работать с базой данных без установки СУБД. Чтобы пользователь запустил мою программу, не устанавливая больше ничего у себя на компьютере. Как я понял, в Firebird это возможно, используя архитектуру сервера Embedded (когда весь движок содержится в одной библиотеке). Я правильно все понимаю?

  14. А автор сабжа просто спросил какие компоненты использовать для коннекта к БД )))

    FDConnection, FDQuery, FDTransaction - при необходимости, ну и FDPhysFBDriverLink и кинь ещё FDGUIWaitCursor

    Спасибо тебе, добрый человек!

     

    С первой строчкой согласен ) со второй нет - там ниже указано, что имеется сервер промежуточный и данные компоненты не подойдут для решения задачи..

     

    Либо я чего-то не понимаю, либо читающие. Когда я писал про сервер, то это означало, что на компьютере с базой данных установлена программа, которая запускалась как сервис. Эта программа и работала непосредственно с файлом базы данных. Компьютер с этой программой и файлом базы данных и есть сервер. Почитайте тут https://ru.wikipedia.org/wiki/Firebird

     

    Вопрос всем: уважаемые, кто-нибудь из вас работал с базой данных Firebird? Не с какой-то другой, а именно с этой базой данных?

  15. У меня есть похожий вопрос. На форме размещен TLayout, а на нем кнопка (у кнопки родитель - TLayout). У кнопки HitTest = true. При обработке события OnClick TLayout выполняется такой код:

    void __fastcall TForm1::Layout1Click(TObject *Sender)
    {
     int CompCount = static_cast<TLayout*>(Sender)->ComponentCount;
    }
    

    После выполнения кода значение переменной CompCount равно нулю. После экспериментов я выяснил, что переменная ComponentCount у всех контролов равна нулю. Только у формы она равна количеству расположенных на ней контролов. Скажите, почему так происходит?

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