При работе с Delphi зачастую случается, что после тестирования и сборки проекта мы забываем проверить свойство Activate компонента TFDConnector. В результате, при установке программы на другом компьютере происходит исключение из-за неудачного подключения. Это действительно раздражает, так как приходится возвращаться к коду и исправлять ошибку.
Многие разработчики ищут решение этой проблемы, но, кажется, что без создания нового компонента подключения, унаследованного от TFDConnection, невозможно обойтись. Тем не менее, есть более простой способ решить эту проблему, не прибегая к созданию нового компонента.
Решение проблемы
Обратите внимание на свойство ConnectedStoredUsage в компоненте TFDConnection. Это свойство контролирует, как значение свойства Connected сохраняется в DFM.
Для решения нашей задачи нужно просто снять флаг auRunTime в свойстве ConnectedStoredUsage.
procedure TForm1.FormCreate(Sender: TObject);
begin
// Получаем доступ к свойству ConnectedStoredUsage
with FDConnection1 as TFDConnection do
begin
// Снимаем флаг auRunTime
ConnectedStoredUsage := ConnectedStoredUsage - [auRunTime];
end;
end;
В этом примере мы получаем доступ к свойству ConnectedStoredUsage компонента FDConnection1 и снимаем флаг auRunTime. Это предотвращает автоматическое подключение при загрузке DataModule.
Вывод
Теперь, когда вы знаете о свойстве ConnectedStoredUsage, вы можете легко предотвратить нежелательное подключение при загрузке DataModule в Delphi. Это простой и эффективный способ решить проблему, не прибегая к созданию нового компонента.
Описывается проблема блокировки подключения TFDConnector при загрузке DataModule в Delphi и предлагается решение, связанное со свойством ConnectedStoredUsage в компоненте TFDConnection.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS