|
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 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Алексей КБыли случаи, когда она вызывается дизайнером и её поведение должно отличаться. пущай дизайнер и сообщит модели, что ей особое поведение требуется. Штатным и одинаковым для всех компонетов (компонент - класс, реализующий IComponent) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 10:38 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Алексей Кнекоторые обзывают ServiceProviderLocator "абсолютным злом". :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 10:46 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
cooldeveloperАлексей Кнекоторые обзывают ServiceProviderLocator "абсолютным злом". :-)Спасибо! :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 10:48 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей КБыли случаи, когда она вызывается дизайнером и её поведение должно отличаться. пущай дизайнер и сообщит модели, что ей особое поведение требуется. Штатным и одинаковым для всех компонетов (компонент - класс, реализующий IComponent)Проще сделать через глобальный контекст. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 10:49 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Алексей КСпасибо! :-) Чё спасибо, 50 бачей гони! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 10:50 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
cooldeveloperАлексей КСпасибо! :-) Чё спасибо, 50 бачей гони! :)Москва портит людей! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 10:56 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Алексей КМосква портит людей! Не отожмёшь - с голоду помрёшь P.S. Читаю e1 форум, порадовал вброс: ...В общем, что мы имеем в сухом остатке. Сотрудник ОД отработал на твёрдую пятёрку Итак, пойдём по порядку 3) что-то всё время дребезжит в правой задней двери -------------------------------------------------------------------------------- Дребезжать, как назло, перестало ещё вчера утром... И сегодня салон был тих как могила Хотя до этого исправно дребезжало в течение 5 месяцев ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 11:03 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
Алексей КПроще сделать через глобальный контекст. спецификация в классе реализации IComponent как бы намекает на зависимость от дизайнера. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 11:23 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
для впф-а Код: vbnet 1. 2. 3. 4.
для колбасы (4.0?) Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 11:32 |
|
C# директивы препроцессору.. как ему сказать, чтобы он строку не компилил?
|
|||
---|---|---|---|
#18+
ИзопропилАлексей КПроще сделать через глобальный контекст. спецификация в классе реализации IComponent как бы намекает на зависимость от дизайнера.Там вроде как есть ряд особенностей, из-за которых использовать ISite.DesignMode не всегда удастся. Мне проще в методе main присвоить ApplicationInfo.IsRuntimeMode = true Кто-то может не согласиться - его право. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 11:52 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1404606]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 190ms |
0 / 0 |