-
Постов
222 -
Зарегистрирован
-
Посещение
-
Победитель дней
5
Достижения Вадим Смоленский
-
Вадим Смоленский отреагировал на ответ на вопрос: Не работает свойство ShowHint
-
Даже в голову не пришло! Огромное спасибо, дурацкий вопрос разрешен и снят.
-
Обновился до версии 11 и обнаружил, что под этой версией в Windows-приложениях любые контролы всегда показывают всплывающую подсказку, даже если ShowHint=False. Похоже, баг. Есть ли несложные способы его обойти?
-
До сих пор использовал RAD Studio только для разработки под Windows. Сейчас решил наконец поэкспериментировать с Маком. Согласно инструкциям, иду в Project Manager, но в разделе Target Platform не нахожу пункта Mac OS. Нажимаю правую кнопку, чтобы воспользоваться командой меню Add platform, и эта команда там есть, но она неактивна! Что тут не так? Допускаю, что RAD Studio недостаточно хорошо установилась. На нынешний компьютер я ее ставил из ISO (пользователь Krapotkin тогда помог), и всё вроде работает, но при каждом запуске выдается огромное окно, в котором написано: "Platforms availability. No more platforms pending to install". Всякий раз приходится его закрывать; на старом компьютере такого не было. Не означает ли это какого-то дефекта установки, связанного именно с доступностью альтернативных платформ?
-
Вадим Смоленский отреагировал на ответ на вопрос: Перенос на другой компьютер
-
Вадим Смоленский отреагировал на ответ на вопрос: Перенос на другой компьютер
-
Вадим Смоленский отреагировал на ответ на вопрос: Перенос на другой компьютер
-
Огромнейшее спасибо!!! Всё прекрасно установилось и работает как часы. Вопрос снят.
-
Спасибо, скачал. Но далее пошло доселе неизведанное. В меню нужно выбрать "Burn disc image", так? Потом оно просит установить "disc burner", который непонятно откуда брать. У меня, правда, стоит ImgBurn, при помощи которого я всегда изготовлял CD. Может, он сгодится?
-
Ну, видимо, да. Запускаю exe-файлы, с которых когда-то всё устанавливал на старом компе. Попробовать из ISO-шечки мешает невежество. Если расскажете, как это делать, непременно попробую. Насчет запуска чистого проекта: вы имеете в виду запустить RAD Studio в этом виде и попробовать создать новый проект? Увы. Жму на "Create a new project" и получаю вот такое:
-
Этот простой выход мне не по душе. Стараюсь по возможности не делать собратьям по программному ремеслу того, чего сам себе не желаю. Но, конечно, такая жесткость лицензионной политики весьма удручает.
-
Писал уже в поддержку — ответили, что сроки истекли, отфутболили к renewals@idera.com. Написал и туда, ответа нет. Как следует зачистить, в моем понимании — это удалить папки Embarcadero из Program Files, Program Data и Documents, а также удалить всю секцию Embarcadero из регистра. Что тогда останется незачищенным? Да, если запустить более ранний установочный файл, radstudio10_2_1_esd.exe, то инсталляция выполняется без ругани насчет истекшей поддержки, но в конце выдается сообщение, о котором я писал в своем посте:
-
Если папку Program Data\Embarcadero целиком не копировать, получается вот что (см. скриншоты) Довольно странно всё это. Неужели истекшая подписка лишает меня права продолжать пользоваться старой версией?
-
А как сообщить инсталлятору, где этот слип лежит? Такое впечатление, что он ожидает его увидеть именно в Program Data\Embarcadero и более нигде. Задает вопрос о том, есть ли этот слип вообще, а вопроса о местонахождении не задает.
-
Работаю на RAD Studio 10.2 Tokyo. Обновиться до свежих версий нынешняя лицензия не дает; покупка новой лицензии в планах, но не в ближайших. Сроки поддержки тоже истекли. Пытаюсь перенести всё хозяйство со старого компа на новый. Обозвал комп таким же именем, перенес всю как есть папку Program Data\Embarcadero с файлом *.slip в аналогичное место, после этого запускаю radstudio10_2_1_esd.exe. Лицензия подхватывается, инсталляция проходит вроде бы гладко, но потом вылезает окно "Platform selection" с загадочным сообщением "No more platforms pending to install". После чего в запущенном RAD Studio не удается открыть ни один проект: "The project can not be loaded because the required personality Delphi.Personality is not available." Есть ли способы эту проблему побороть?
-
Ну вот я и хочу найти выход. И пока не нахожу. Оттого и обратился к коллективному разуму.
-
Это замечательная новость. Но у меня 10.2, и бесплатно обновиться до 10.4, как я понимаю, нельзя.
-
В FireMonkey приходится перехватывать сообщения Windows, чтобы обеспечить корректное сворачивание и разворачивание окон. Это здесь уже обсуждалось. Я в итоге сделал у себя так: var TheFormIsMinimized: Boolean = False; TheFormWasMaximized: Boolean = False; function NewWndProc(Wnd: HWND; Msg: UINT; WParam: WPARAM; LParam: LPARAM): LRESULT; stdcall; begin if (Msg = WM_SHOWWINDOW) and (LParam = SW_PARENTCLOSING) and (not TheFormIsMinimized) then begin TheFormIsMinimized := True; TheFormWasMaximized := (MainForm.WindowState=TWindowState.wsMaximized); SendMessage(FormToHWND(MainForm), WM_SYSCOMMAND, SC_MINIMIZE, 0); MainFormp.WindowState := TWindowState.wsMinimized; end else if (Msg = WM_SHOWWINDOW) and (LParam = SW_PARENTOPENING) and (TheFormIsMinimized) then begin TheFormIsMinimized := False; SendMessage(FormToHWND(MainForm), WM_SYSCOMMAND, SC_RESTORE, 0); if TheFormWasMaximized then begin SendMessage(FormToHWND(MainForm),WM_SYSCOMMAND,SC_MAXIMIZE,0); LookUp.WindowState:=TWindowState.wsMaximized; end else begin SendMessage(FormToHWND(MainForm),WM_SYSCOMMAND,SC_RESTORE,0); LookUp.WindowState:=TWindowState.wsNormal; end; end else Result:=CallWindowProc(OldWndProc, Wnd, Msg, WParam, LParam); end; Это работает — но восстановленное из трея окно находится не в фокусе. Пользователь должен дополнительно щелкнуть по нему мышкой. Вставка оператора SetFocus(FormToHWND(MainForm)) непосредственно сюда же ничего не дает — равно как и операторов SendMessage(FormToHWND(MainForm),WM_ACTIVATE,WA_ACTIVE,0), Winapi.Windows.SetActiveWindow(FormToHwnd(MainForm)) или SetForegroundWindow(FormToHWND(MainForm)). Мне приходится запускать из этого места специальный таймер — и уже в обработчике таймера, после некоторой задержки, вызывать SetFocus(FormToHWND(MainForm)). Но и это работает не всегда. Например, если окно было развернуто на весь экран, а свернуто было щелчком по кнопке «Свернуть все окна», то после его разворачивания опять фокуса нет (насколько могу судить, в этом случае не запускается таймер). Нет ли более изящного и надежного способа наладить фокус?
-
Вадим Смоленский отреагировал на ответ на вопрос: Метод Clone
-
А впрочем, неважно. Самое главное, что оператор Button:=TButton(SenderButton.Clone(SenderButton.Owner)) работает, как задумано. Спасибо!