d7d1cd
Пользователи-
Постов
277 -
Зарегистрирован
-
Посещение
-
Победитель дней
7
Весь контент d7d1cd
-
Zuby, спасибо за код. Буду пробовать. Как не бился, так и не смог перевести код на С++. Объект, который создается функцией CreateOleObject не содержит функции ConnectServer . Что я не так делаю?
-
Привет всем. Есть необходимость сделать защиту программы так, чтобы она выполнялась только на одном компьютере. Думаю привязать ее к серийному номеру материнской платы. Сначала покупатель с помощью моей утилиты пришлет мне номер, а потом я его внедрю в продаваемую программу. Вопрос: как программно узнать этот номер? P.S. Давайте только не будем обсуждать то, что эту защиту обойдет даже начинающий хакер.
-
Вы не прикрепляйте весь свой проект на 10 килострок. Создайте тестовый проект и попробуйте в нем воспроизвести глюк, который наблюдается в рабочем проекте. Потом этот тестовый проект прикрепляйте сюда.
-
Это происходит по той же причине, по какой, например, MS Word первый раз грузится относительно долго, а после его закрытия и повторного открытия загрузка происходит значительно быстрее.
-
Ну у меня был просто пример. А так можно и деление на ноль прописать и просто потом поймать исключение. Так что приводить типы классов, я считаю, надо только через dynamic_cast, а еще можно через static_cast. Как правильнее я не знаю. Думаю, что dynamic_cast выполняет приведение типов во время выполнения программы, а static_cast выполняет проверку допустимости приведения типов на этапе компиляции. Бородатый анекдот в тему. Программист должен предусмотреть все варианты развития событий. И когда он ложится спать, то должен поставить на тумбочку 2 стакана: один с водой, один пустой. С водой на случай если ночью захочется пить, пустой на случай если не захочется.
-
Если Вам не нужно приводить переменную одного класса к переменной другого класса, то и использование 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; }
-
Видимо в Embarcadero услышали Вас, Gingercat. Посему и убрали раздражение . Однако нет худа без добра: теперь я знаю сочетание Ctrl + пробел, которое оказалось очень удобным! Всем спасибо за обсуждение.
-
Это было в старых версиях. Сто процентов.
-
То, что Вы говорите я и так знаю. Однако, если набрать в редакторе int i = StrToInt( то суфлер не показывает параметры функции StrToInt. Эту проблему можно решить набрав StrToInt (без открывающей скобки) и нажать Ctrl + пробел. Суфлер при этом выведет все функции, которые начинаются с StrToInt. Выбираем нужную функцию, жмем Enter и суфлер вставит скобки и выведет подсказки для параметров. Однако в предыдущих версиях системы подсказки появлялись сами при вводе открывающей скобки функции. Это где-то отключено (как тогда включить?) или это в принципе убрали из новой версии системы?
-
Привет всем. У меня в C++Builder 10 Seattle не работает суфлер кода. Точнее, он не полностью работает. Функции и переменный класса, при доступе через -> или он показывает. А вот при вводе открывающей скобки функции, суфлер не показывает параметры этой функции. Подскажите, где включить это?
-
Спасибо за ссылку. Нашел решение проблемы. Глюк появляется после того, как на странице Tools->Options->Editor Options->Source Options снимается галка Highlight current line. Так что снимать ее нельзя. Если необходимо, все-таки, отключить подсветку текущей строки, то необходимо на странице Tools->Options->Editor Options->Color в списке Element выбрать Line Highlight и в списке Background color выбрать цвет, совпадающий с цветом фона.
-
Привет всем. Установил C++Builder XE10 и обнаружил баг редактора кода. Если щелкать мышью по введенному коду, то сначала ничего интересного не происходит: курсор ввода перемещается туда, где щелкнули мышью. Однако, если прокрутить код мышью и снова пощелкать, то в месте щелчка появляется какая-либо строка кода из этого же файла. Причем на самом деле этой строки нет, она только на экране. Если выделить текст, то все пропадает. Никто не знает как это побороть? И еще, где взять обновление Update 1?
-
ИМХО, цельный компилятор надо написать для этого...
-
Однажды я продал свою программу (жаль, что только однажды). Для защиты от копирования я ее продал с электронным ключом в виде флешки. Без этого ключа программа не запускалась. Причем это уже более менее серьезная защита (как уверял производитель ключа).
-
Спасибо вам, уважаемые, за помощь! Буду пытаться сделать что-то сам . Но вопросы будут. В дальнейшем.
-
Спасибо, буду пробовать.
-
Вы резво начали . Давайте потихоньку. Я создаю проект. Какие компоненты IBX необходимы? И, кроме этого, как использовать библиотеку Embedded сервера?
-
Я не работал ни с одной базой данных, поэтому надо с чего-то начать. Решил начать с Firebird: кое-какие знания по этой СУБД я имею. Поэтому прошу вас не переубеждать меня в выборе, ибо всегда можно найти человека, который поддержит меня и скажет, что FB - лучше всех! Но порошу вас помочь в начале работы. Итак, мне необходимо написать программу со встроенным сервером FB. Программа должна будет выводить на экран содержимое базы данных, а так же добавлять данные и удалять их. Для начала в IBExpert я создал файл базы данных. В базе у меня одна таблица с именем TABLE, которая состоит из двух полей ID и FIELD. Поле ID - ключевое поле с генератором значений. Поле FIELD текстовое поле с длиной 50 символов. Теперь вопрос: как добавить в эту БД строку?
-
Я в базах данных полный ноль. Поэтому прошу прощения за неправильные объяснения - я, повторюсь, многого не знаю. Поразмыслив, я пришел к выводу, что мне необходимо работать с базой данных без установки СУБД. Чтобы пользователь запустил мою программу, не устанавливая больше ничего у себя на компьютере. Как я понял, в Firebird это возможно, используя архитектуру сервера Embedded (когда весь движок содержится в одной библиотеке). Я правильно все понимаю?
-
"размечтались работать с файлом напрямую ))" - это вы про себя или про других? Я не хотел работать с файлом базы данных напрямую, вообще то...
-
Спасибо тебе, добрый человек! Либо я чего-то не понимаю, либо читающие. Когда я писал про сервер, то это означало, что на компьютере с базой данных установлена программа, которая запускалась как сервис. Эта программа и работала непосредственно с файлом базы данных. Компьютер с этой программой и файлом базы данных и есть сервер. Почитайте тут https://ru.wikipedia.org/wiki/Firebird Вопрос всем: уважаемые, кто-нибудь из вас работал с базой данных Firebird? Не с какой-то другой, а именно с этой базой данных?
-
Зато 2 анимации . Хотя твой метод может быть и с одной анимацией.
-
У меня есть похожий вопрос. На форме размещен TLayout, а на нем кнопка (у кнопки родитель - TLayout). У кнопки HitTest = true. При обработке события OnClick TLayout выполняется такой код: void __fastcall TForm1::Layout1Click(TObject *Sender) { int CompCount = static_cast<TLayout*>(Sender)->ComponentCount; } После выполнения кода значение переменной CompCount равно нулю. После экспериментов я выяснил, что переменная ComponentCount у всех контролов равна нулю. Только у формы она равна количеству расположенных на ней контролов. Скажите, почему так происходит?