
Sergey
22.02.2017
08:05:49
Одно дело реклама, а другое - откровенный спам. Поэтому зашел в свойства группы и зарепортил за спам (не моя личная армия, да)

Евгений
22.02.2017
09:27:19

Ilya
22.02.2017
09:34:25
время разминки, почему вывод именно такой

Google

Ilya
22.02.2017
09:34:27

Nikita
22.02.2017
09:40:30
@Milukoff поддержка firebird заводится из нугет-пакетов. Работает даже генератор схемы по базе из состава linq2db

Artem
22.02.2017
09:43:48
а не лонг

Ilya
22.02.2017
09:44:09
таак)) а дальше?
почему вывод именно такой?

Artem
22.02.2017
09:45:22
ну т.е. по сути это все равно что сдвинуть int на 62 разряда
это переполнение по сути
т.е. тут два
1. сдвигаешь int, возникает переполнение
2. int приводится к лонгу
3. форматируется лонг

Sergey
22.02.2017
09:46:43
Это с МСДН навскидку

Artem
22.02.2017
09:47:12

Aleksey
22.02.2017
09:47:20

Google

Владимир
22.02.2017
09:47:36
11000000000000000000000000000000
вот это результат сдвига инта

Artem
22.02.2017
09:47:38
и скорей всего будет максимальное значение для данного тип

Igor
22.02.2017
09:48:21
1) 62 обрезатается до 30
2) 3 сдивигается в 1100...0
3) при конвертирование int->long добавляются единицы тк int был отрицательным

Artem
22.02.2017
09:48:28

Ilya
22.02.2017
09:48:30

Владимир
22.02.2017
09:48:47

Aleksey
22.02.2017
09:48:55

Igor
22.02.2017
09:48:57

Artem
22.02.2017
09:49:01

Ilya
22.02.2017
09:49:03

Igor
22.02.2017
09:49:41
ДА!
Вообще какой-то пазлер. Надеюсь это не с собеседования.

Ilya
22.02.2017
09:49:51
мои поздравления @igor_ur

Aleksey
22.02.2017
09:50:25

Sergey
22.02.2017
09:50:31

Ilya
22.02.2017
09:50:31
надо закодировать некоторое количество информации в long
хотите ещё один вопрос на уровень сложности хардкор?

Сергей
22.02.2017
09:52:32
давай давай

Sergey
22.02.2017
09:52:48

Ilya
22.02.2017
09:53:28
есть функция

Google

Ilya
22.02.2017
09:53:28
[DllImport("....", CallingConvention = CallingConvention.StdCall, EntryPoint = "....", PreserveSig = false)]
public static extern void GetDeviceInfo(Guid deviceId, ref DeviceInfo deviceInfo);
она работет на 64 разрядных системах и не работает на 32х
вопрос, почему?
падает с ошибкой UnbalancedStack

Nikita
22.02.2017
09:55:00
сишную сигнатуру покажи

Ilya
22.02.2017
09:56:10
STDAPI GetDeviceInfo(
REFGUID devId,
DEVICE_INFO* pDevInfo
);

Nikita
22.02.2017
09:56:35
гуид через ref передай
и проверь что в DEVICE_INFO все указатели определены как IntPtr
а не long
но это не должно влиять

Ilya
22.02.2017
09:57:13
но почему оно работает на 64 разрядных системах?

Nikita
22.02.2017
09:57:56
чудеса встроенных правил маршалинга

anton
22.02.2017
09:59:50
о, я смотрю тут темы интересные пошли :)
а то раньше всё про жаваскрипт какой-то ;)

Ilya
22.02.2017
10:00:31

Nikita
22.02.2017
10:00:48
ещё можно попробовать поставить [MarshalAs(UnmanagedType.LPStruct)], но надо проверять

Ilya
22.02.2017
10:01:20
щас ещё один вопрос повышенной сложности) токо почищу код)

Gid
22.02.2017
10:04:42
Хера сложно

Nikita
22.02.2017
10:04:42
если это задают на собеседовании - БЕГИ

Google

Nikita
22.02.2017
10:04:51
там явно куча сишного легаси

Ilya
22.02.2017
10:04:54
да не, это на работе)))

Gid
22.02.2017
10:04:54
Даже слова неизвестные

Nikita
22.02.2017
10:04:56
к которому клепают гуй

Gid
22.02.2017
10:04:57
Маршалинг

Ilya
22.02.2017
10:06:44
есть структуры

Admin
ERROR: S client not available

Ilya
22.02.2017
10:07:02
[StructLayout(LayoutKind.Sequential)]
public struct InfoInt
{
[MarshalAs(UnmanagedType.LPWStr)]
public string ItemId;
public int HResult;
public IntItem Value;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public struct IntItem
{
[FieldOffset(0)]
public Types Type;
[FieldOffset(8)]
public int Value;
}

Artem
22.02.2017
10:07:08
всем привет,
мб здесь есть человек который работает с Autofac и получает обьект логгера через DI (сам использую Autofac + NLog(Autofac.Extras.NLog) ).
Интересует как реализовали проставление имя класса откуда был вызван лог.
Так как имя класса у меня всегда "SimpleNLogModule+<>c"
Реализовал ето всё через Generic. Но мне не очень нравится такой подход.
public class LoggerAdapter<T> : Autofac.Extras.NLog.LoggerAdapter, ILogger<T>, Autofac.Extras.NLog.ILogger
{
public LoggerAdapter() : base(LogManager.GetLogger(typeof(T).FullName))
{
}
}

Ilya
22.02.2017
10:07:09
с++
typedef struct VARIANT
{
ULONG VarType;
union
{
BOOL bBool;
LPWSTR szStr;
ULONG uLong;
LONG lLong;
GUID guid;
DOUBLE dbl;
FILETIME ftime;
DATA_BLOB blob;
ULONGLONG ull;
LONGLONG ll;
struct
{
ULONG cItems;
struct VARIANT *pItems;
} ;
/* Empty union arm */
} ;
} VARIANT;
typedef struct SERVER_INFO
{
LPWSTR szItemID;
HRESULT hr;
VARIANT Value;
}
почему не работaет на x32

Владимир
22.02.2017
10:08:21

Nikita
22.02.2017
10:08:39
потому что надо ставить MarshalAs Struct

Ilya
22.02.2017
10:08:46

Nikita
22.02.2017
10:09:01
прямо на int

Ilya
22.02.2017
10:09:06

Nikita
22.02.2017
10:09:18
и дальше среда сама передаст int как VARIANT

Ilya
22.02.2017
10:09:42
к сожалению это кастомный вариант

Google

Nikita
22.02.2017
10:10:03
беги оттуда

Ilya
22.02.2017
10:10:06
просто я удалил префиксы

Nikita
22.02.2017
10:11:38
это такая вариация детсадовского "что, слабо?", да?

Ilya
22.02.2017
10:11:56
могу дать подсказку)

Сергей
22.02.2017
10:12:28
@nikita_tsukanov Никит, сходи по братски в какой нибдь подкаст, что то о дотнете совсем не говорят в последнее время

Ilya
22.02.2017
10:12:49
а есть подкасты где говорят про дотнет?

Mikhail
22.02.2017
10:13:03

Сергей
22.02.2017
10:13:15
На русском нет, но бывают что то скажут

Ilya
22.02.2017
10:13:23
был один подкаст на девзен, где чувак из мира дотнета был. Ведущие явно предвзяты к донету

Nikita
22.02.2017
10:13:39
по структурам:
1) как определён Types?
2) Size = 24 делать нехорошо, но к проблеме скорее всего отношения не имеет

Сергей
22.02.2017
10:13:44
Был, у него еще звук гавно был( про орлеанку рассказывал

Ilya
22.02.2017
10:14:00
Types - int

Ilya
22.02.2017
10:14:00
ага
про них

Nikita
22.02.2017
10:14:14
ну попробуй поставить long

Ilya
22.02.2017
10:14:19
они соц сети там как-то агрегируют

Nikita
22.02.2017
10:14:26
даже лучше ulong
подкасты - несколько не мой формат
Эта группа больше не существует