|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Создал компонент. Сей компонент подключается к серверу, берёт данные в соответсвии с его правами: Код: c# 1.
грузит их в грид. Проблема в том, что когда я в режиме разработки использую этот компонент, он уже пытается подключиться к серверу, но по некоторым причинам не получается. Скажите, как сделать такой код: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 19:00 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 19:09 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Charles Weyland, #if DEBUG #else #endif не годится ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 19:11 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Charles Weyland, директивы препроцессора здесь не помогут т.к. студия выполняет тот же код контрола, который будет выполняться на runtime этапе. На stackoverflow есть обсуждение где приводится 5 способов отличить design-time on run-time и утверждается что самый надежный это свойство LicenseManager.UsageMode . ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 19:17 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
skole Код: c# 1. 2. 3. 4. 5.
очень рядом, но не то. "DEBUG" говорит о том, объявлена ли такая переменная, или нет. Если у меня выбран режим "отладка" а не "релиз", то после запуска выполняется кусок кода после IF, в противном случае релизный.. НО Я НЕ запускаю приложение. Я просто использую компонент. Чтобы отобразиться на форме в режиме проектирования , код внутри него выполняется. Вот и вопрос: как отличить, находится ли проект в режиме проектирования, либо он запущен? Есть ли такой аналог глобальной переменной DEBUG? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 19:18 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Charles Weyland, добавь свою команду препроцессора. и когда надо включай её, когда надо выключай #if MyDEBUG #else #endif ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 19:19 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
beg-in-erCharles Weyland, добавь свою команду препроцессора. и когда надо включай её, когда надо выключай #if MyDEBUG #else #endif Объявил в начале эту хрень #define DEVELOPE и теперь мне при каждом запуске комментить эту строку? Слишком неудобно. Крайне. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 19:40 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
bazileCharles Weyland, директивы препроцессора здесь не помогут т.к. студия выполняет тот же код контрола, который будет выполняться на runtime этапе. На stackoverflow есть обсуждение где приводится 5 способов отличить design-time on run-time и утверждается что самый надежный это свойство LicenseManager.UsageMode . Развёрнуто и чётко. Спасибо, сам бы я точно не нашёл. Решение: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 19:50 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 19:50 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Charles Weyland Код: c# 1.
Не надо так писать если не хочешь чтобы твой код или тебя обзывали плохими словами. Правильнее так: Код: c# 1.
P.S. Твои вопросы демонстрируют серьезные пробелы в знаниях базовых вещей относительно .NET/C#. Если ты планируешь серьезно заниматься .NET, то следует как можно быстрее эти пробелы закрыть. Рекомендую прочитать книгу "Программирование на платформе Microsoft .NET Framework 4.0 на языке C#" Джеффри Рихтера. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 20:00 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
bazileРекомендую прочитать книгу "Программирование на платформе Microsoft .NET Framework 4.0 на языке C#" Джеффри Рихтера. Скачал, начну с сегоднешнего дня. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 21:44 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Charles Weyland, а что значит в режиме разработки? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 22:44 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
АбсолютCharles Weyland, а что значит в режиме разработки? а это когда я на форму компоненты кидаю. Есть два режима: design-time (когда я леплю форму из компонент, в т.ч. своих. Т.е это тот самый период до нажатия F5) и run-time (после компиляции и запуска программы. Сбсна, когда программа запущена и выполняется) Дело в том, что если нарисовать свой компонент, то он начинает работать уже в тот момент, когда ты его на форму кидаешь. Кинул на форму - выполнился конструктор. Изменил размер компонента или любое другое его свойство - выполнились обработчики свойств, функции, запустились некоторые обработчики событий... А раз код выполняется, то в нём и ошибки могут быть. Скажем, индекс массива вышел за пределы диапазона или деление на ноль. Тогда форма, на которой лежит этот компонент, перестаёт отображаться как нормальная форма, а вместо неё отображается что-то напоминающее web-страничку с ошибкой. Вот, пока ты эту ошибку в компоненте не исправишь, форма назад не отобразится. Конкретно у меня проблема была в том, что в режиме разработки мой компонент пытался достучаться до сервера и по некоторым причинам не мог. В то время как в режиме работы программы он стучится без проблем. И чтобы мне видеть мою форму по-человечески и иметь возможность с ней работать, мне потребовалось, чтобы строка, выполняющая попытку доступа к серверу, не выполнялась, а просто пропускалась... как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2013, 23:23 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Charles Weyland, очень много букв. у контрола есть свойство - DesignMode (ессно в рантайме проверять) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 00:01 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
ИзопропилCharles Weyland, очень много букв. у контрола есть свойство - DesignMode (ессно в рантайме проверять)Не всегда есть доступ к контролу... Проще свою статическую переменную описать. Ставить ей в начале программы в рантайме true. Для всех остальных случаев будет false: дизайнер, юниттест и т. п. зы: DI не советую по идейным соображениям. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 05:58 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Алексей КНе всегда есть доступ к контролу... топикстартер разве не контрол пишет? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 08:47 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей КНе всегда есть доступ к контролу... топикстартер разве не контрол пишет?Лучше иметь единый подход для контролов и неконтролов? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 08:58 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Алексей КЛучше иметь единый подход для контролов и неконтролов? зачем "неконтролу" эта зависимость? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 09:24 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Алексей Кзы: DI не советую по идейным соображениям. :-) Не уловил, DI - это что? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 09:26 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Charles Weyland, Dependency Injection ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 09:42 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Алексей Кзы: DI не советую по идейным соображениям. :-) Так, так, так... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 09:51 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
cooldeveloperАлексей Кзы: DI не советую по идейным соображениям. :-) Так, так, так... забавно, но VS( и прочие среды разработки) собственно DI и используют (свойство Site интерфейса IComponent) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 10:27 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей КЛучше иметь единый подход для контролов и неконтролов? зачем "неконтролу" эта зависимость?"Чистая ViewModel" не имеет ссылки на View. Были случаи, когда она вызывается дизайнером и её поведение должно отличаться. Ну и тестирование... Была нужда отключить систему безопасности в сервисах модели. Мне проще поставить пару if-ов в методах вроде UserContext.RoleDemand("roleName") , чем прикручивать альтернативный "проверятель" через DI. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 10:30 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Изопропилзабавно, но VS( и прочие среды разработки) собственно DI и используют (свойство Site интерфейса IComponent) А как же идейные соображения? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 10:30 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Изопропилcooldeveloperпропущено... Так, так, так... забавно, но VS( и прочие среды разработки) собственно DI и используют (свойство Site интерфейса IComponent)Там это оправдано. Если я буду писать Visual Studio - обещаю сделать так же, несмотря на то, что некоторые обзывают ServiceProvider "абсолютным злом". :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 10:35 |
|
|
start [/forum/topic.php?fid=20&msg=38277438&tid=1404606]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 186ms |
0 / 0 |