Установка свойства сайта в TFrame - PullRequest
0 голосов
/ 07 апреля 2011

Я пытаюсь создать CustomControl в C #, который содержит Delphi TFrame, который можно перетащить из панели инструментов VisualStudio в форму.Это то, что у меня работает правильно, однако, когда я пытаюсь изменить размер, возникают ошибки управления из-за того, что TFrame не работает в режиме разработки (он пытается получить доступ к обработчикам событий для сетки данных на фрейме).

Iсоздали объект TFrame в Delphi, который содержит различные элементы управления (сетка данных, комбинированный список и т. д.), и CustomControl в C #, который содержит объект TFrame.

Чтобы обойти эту проблему, я думаю, что мне нужно установить свойство Siteобъекта TFrame, так что DesignMode имеет значение true.Как я могу это сделать?

Я знаю, что могу обойти эту проблему, проверяя в начале каждого метода, если для LicenseManager.UsageMode задано значение DesignTime, но это кажется очень плохим способом решения проблемы.проблема.Поэтому, если возможно, я бы хотел, чтобы свойство сайта было установлено правильно.

Я использую CodeGear RAD Studio 2007 и Visual Studio 2008.

Заранее спасибо

1 Ответ

0 голосов
/ 08 апреля 2011

Оказывается, эта проблема вызвана ошибкой в ​​Visual Studio, когда свойство DesignMode и Site никогда не устанавливаются для компонентов, созданных в конструкторе или UserControl.Поэтому свойство DesignMode всегда ложно.

Существует несколько предложенных решений, все из которых включают добавление теста к любым обработчикам событий или методам, где код должен выполняться только во время выполнения.Первый вариант - проверить свойство LicenseManager.UsageMode, а второй - проверить имя исполняемого процесса (например, если его «devenv», то время его разработки).

...