Результаты поиска
Анатомия " утечки памяти"
В перспективе .NET:
- Что такое утечка памяти ?
- Как вы можете определить, утечка ли вашего приложения? Что же это за последствия?
- Как можно предотвратить утечку памяти?
- Если у вашего приложения есть утечка памяти, она исчезает при завершении процесса или убивается? Или утечки памяти в вашем приложении влияют на другие процессы в системе даже после завершения процесса?
- А как насчет неуправляемого кода, доступ к которому осуществляется через COM Interop и / или P/Invoke?
Сжатие / Распаковка Папок И Файлов
Кто-нибудь знает хороший способ быстро сжимать или распаковывать файлы и папки в C#? Возможно, потребуется обработка больших файлов.
Добавление функциональности сценариев в приложения .NET
У меня есть небольшая игра, написанная в C#., она использует базу данных в качестве бэк-энда. Это это была торговая карточная игра, и я хотел реализовать функцию карт в виде скрипта.
Я имею в виду, что у меня по существу есть интерфейс , ICard, который реализует класс карт ( public class Card056: ICard ) и который содержит функцию, вызываемую игрой.
Теперь, чтобы сделать вещь maintainable/moddable,, я хотел бы иметь класс для каждой карты в качестве исходного кода в базе данных и по существу скомпилировать его при первом использовании. Поэтому, когда мне нужно добавить/изменить карту, я просто добавлю ее в базу данных и скажу своему приложению обновить, не требуя никаких assembly deployment (тем более, что мы будем говорить о 1 assembly на карту, что означает сотни сборок).
Разве это возможно? Зарегистрируйте класс из исходного файла, а затем создайте его экземпляр и т. д.
ICard Cards[current] = new MyGame.CardLibrary.Card056();
Cards[current].OnEnterPlay(ref currentGameState);
Язык C#, но дополнительный бонус, если есть возможность написать сценарий на любом языке .NET.
Выгрузка элемента управления COM при работе в VB6 IDE
Частью моей повседневной работы является поддержание и расширение устаревших приложений VB6. Общий движок написан в C/C++ и VB6 использует эти функции для повышения производительности.
Когда дело доходит до асинхронного программирования, интерфейса C недостаточно, и мы полагаемся на элементы управления COM для запуска событий в VB6.
Моя проблема заключается в том, что когда я регистрирую элемент управления в VB6, VB загружает этот элемент управления в память и не выгружает его, пока я не выйду из VB6 IDE. Поскольку элемент управления загружается все время, я не могу перекомпилировать его в VC6, потому что файл DLL заблокирован.
Решение, которое я нашел, - это не включить элемент управления в VB, а использовать CreateObject() с полным именем моего элемента управления. Проблема в том, что я должен объявить свой элемент управления как объект, потому что VB6 ничего не знает о интерфейсе, который я использую, и у меня нет доступа к IntelliSense, что является болью.
Любая идея, как я могу сказать VB6 выгрузить элементы управления после выхода из приложения или непосредственно в IDE ?
Сборка для Windows NT 4.0 с помощью Visual Studio 2005?
Приложение MFC, которое я пытаюсь перенести, использует afxext.h, что приводит к установке _AFXDLL , что вызывает эту ошибку, если я устанавливаю /MT :
Пожалуйста, используйте переключатель /MD для сборки _AFXDLL
Мои исследования на сегодняшний день показывают, что невозможно построить приложение для выполнения на Windows NT 4.0 с помощью Visual Studio (в данном случае C++) 2005.
Неужели это правда? Существуют ли какие-либо обходные пути?
.Net XML комментарий к документации API
Существует ли простой способ создать документацию в стиле MSDN из выходных данных Visual Studio XML?
Я не настолько терпелив, чтобы создать хороший xslt для этого, потому что я знаю, что я не первый человек, который пересек этот мост.
Кроме того, я недавно пытался установить замок из песка, но это действительно заставило меня скосить глаза. Либо я упустил что-то важное в этом процессе, либо он просто слишком вовлечен.
Я знаю, что у кого-то там есть действительно хорошее мертвое простое решение.
Я повторяю здесь, потому что я думаю, что мое форматирование сделало этот абзац неинтересным для чтения:
Я дал Сэнд-Кастлу попробовать, но мне было очень трудно его настроить. На самом деле я имею в виду нечто гораздо более простое.
То есть, если только я просто не понимаю процесс создания песчаного замка. Мне казалось, что это ужасно много дополнительного багажа, чтобы просто произвести что-то хорошее для тестировщиков, чтобы работать с ними.
Linux shell эквивалент на IIS
Как разработчик LAMP, рассматривающий возможность перехода на платформу .Net IIS, одна из моих проблем-потеря производительности из-за отсутствия shell... У кого-нибудь еще был такой опыт? Существует ли, возможно, эквивалент Linux shell для Windows?
Учимся писать компилятор
Предпочтительные языки: C/C++, Java и Ruby.
Я ищу несколько полезных книг/учебных пособий о том, как написать свой собственный компилятор просто для образовательных целей. Я лучше всего знаком с C/C++, Java и Ruby, поэтому предпочитаю ресурсы, которые включают один из этих трех, но любой хороший ресурс приемлем.
Как отключить автозаполнение браузера в поле веб-формы / тег ввода?
Как отключить autocomplete в основных браузерах для конкретного input (или form field )?
Сжатие видео: Что такое дискретное косинусное преобразование?
Я реализовал метод преобразования изображения / видео, который называется дискретным косинусным преобразованием. Этот метод используется в MPEG кодировании видео. Я основал свой алгоритм на идеях, представленных на следующем URL:
http://vsr.informatik.tu-chemnitz.de/~jan/MPEG/HTML/mpeg_tech.html
Теперь я могу преобразовать участок черно-белого изображения размером 8x8, например:
0140 0124 0124 0132 0130 0139 0102 0088 0140 0123 0126 0132 0134 0134 0088 0117 0143 0126 0126 0133 0134 0138 0081 0082 0148 0126 0128 0136 0137 0134 0079 0130 0147 0128 0126 0137 0138 0145 0132 0144 0147 0131 0123 0138 0137 0140 0145 0137 0142 0135 0122 0137 0140 0138 0143 0112 0140 0138 0125 0137 0140 0140 0148 0143
В это изображение со всей важной информацией вверху справа. Трансформированный блок выглядит так:
1041 0039 -023 0044 0027 0000 0021 -019 -050 0044 -029 0000 0009 -014 0032 -010 0000 0000 0000 0000 -018 0010 -017 0000 0014 -019 0010 0000 0000 0016 -012 0000 0010 -010 0000 0000 0000 0000 0000 0000 -016 0021 -014 0010 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 -010 0013 -014 0010 0000 0000
Теперь мне нужно знать, как я могу воспользоваться этой трансформацией? Я хотел бы обнаружить другие блоки 8x8 в том же изображении (или другом изображении), которые представляют собой хорошее совпадение.
Кроме того, что дает мне эта трансформация? Почему важна информация, хранящаяся в правом верхнем углу преобразованного изображения?
Производительность Компиляции CSharpCodeProvider
Разве CompileAssemblyFromDom быстрее, чем CompileAssemblyFromSource ?
Он должен быть таким, как он предположительно обходит внешний интерфейс компилятора.
Что называется узлом в WebSpere сети Deployment
При установке сервера приложений WebSphere с сетью Deployment узлом является:
- физическая машина
- экземпляр оперативной системы
- логический набор экземпляров WAS, который не зависит от физической машины или экземпляра OS
Как настроить eclipse (zend studio 6), чтобы подсказывать и кодировать несколько языков?
Мой сон IDE делает полные подсказки кода, объясняет и завершает PHP, Javascript, HTML и CSS. Я знаю, что он существует!
до сих пор Zend studio 6, под Eclipse IDE отлично справляется с намеками PHP, некоторыми Javascript и HTML, как я могу это расширить?
изменить: немного больше информации: прямо сейчас, используя zend-6 под eclipse, я ввожу
<?php
p //(a single letter "p")
и я получаю подсказку подсказки со всеми доступными функциями php, которые начинаются с "p" (phpinfo(), parse_ini_file(), parse_str() и т. д...), каждый со своим собственным объяснением: phpinfo() - > "выводит много информации PHP", то же самое относится к регулярному HTML (без объяснений, однако).
Однако, я ничего не получаю, когда я делаю:
<style>
b /* (a single letter "b") */
Мне бы очень хотелось, чтобы я мог получить от этого предложения "b" для "border", "bottom" и т. д. То же самое относится и к Javascript.
Есть идеи?
C# логический порядок и поведение компилятора
В C#, (и не стесняйтесь отвечать за другие языки), в каком порядке среда выполнения оценивает логический оператор?
Пример:
DataTable myDt = new DataTable();
if (myDt != null && myDt.Rows.Count > 0)
{
//do some stuff with myDt
}
Какое утверждение делает во время выполнения оценки первого -
myDt != null
или:
myDt.Rows.Count > 0
?
Есть ли время, когда компилятор будет когда-либо оценивать оператор назад? Возможно, когда задействован оператор "OR"?
& известен как логический побитовый оператор и всегда вычисляет все вложенные выражения
Каков хороший пример использования побитового оператора вместо "короткого замыкания логического"?
HTML комментарии ломаются
У меня есть страница, которая генерируется, которая вставляет комментарий HTML в верхней части страницы. Внутри комментария находится команда *nix-style.
<!-- command --option value --option2 value2 --option3 -->
Этот комментарий полностью разрывает страницу. Что не так с комментарием, чтобы вызвать это, и почему это так?
Увеличивает сообщества сервера
Компания, в которой я работаю, хочет добавить функциональность блога на наш сайт, и они хотели потратить ужасную сумму денег, чтобы построить какое-то дерьмо поверх купленного ими CMS (sitecore). Я указал им на сервер сообщества Telligent, и у нас была встреча по продажам, как сегодня, чтобы привлечь маркетологов на борт.
Мой вопрос заключается в том, если у кого-то были проблемы с работой с сервером сообщества, его обшивкой и расширением?
Я хотел немного объяснить, почему я думаю, что Community Server, компания хочет несколько блогов с несколькими авторами. Я хочу быть вне административной части этого как можно больше и не думал, что было слишком много двигателей, которые, имея несколько блогов, не означали работу БД. Мне также нравится другая функциональность, которую предоставляет Community Server, и я думаю, что компания найдет ее полезной, особенно раздел media, поскольку прямо сейчас у нас есть какой-то действительно короткий способ работы с техническими документами и прочим.
edit: мы фактически используем модуль Sitecore blog для одного блога в нашей интрасети (что на самом деле является тем, что обслуживает CMS). Некоторые рассуждения о том, почему мне не нравится это для нашего публичного сайта, они находятся на разных серверах, он не поддерживает нескольких авторов, нет встроенной синдикации, это немного хлипкое чувство для меня от взгляда на источник, и я лично думаю, что другие функции Community Server делают его ценник того стоит.
еще одно редактирование: нужно придерживаться программного обеспечения .net, которое работает на сервере sql в случае моей компании, но я не против видеть рекомендации для других. ExpressionEngine выглядит многообещающе, попробую его на моем личном ящике.
Какой самый простой способ добавить сжатие к WCF в Silverlight?
У меня есть приложение silverlight 2 beta 2, которое обращается к веб-службе WCF. Из-за этого в настоящее время он может использовать только привязку basicHttp. Веб-сервис вернет довольно большие объемы данных XML. Это кажется довольно расточительным с точки зрения использования полосы пропускания, поскольку ответ, если его сжать, будет меньше в 5 раз (на самом деле я вставил ответ в txt-файл и сжал его.).
Запрос действительно имеет "Accept-Encoding: gzip, deflate" - есть ли какой-либо способ получить WCF service gzip (или иным образом сжать) ответ?
Я действительно нашел эту ссылку , но она определенно кажется немного сложной для функциональности, которая должна быть обработана out-of-the-box IMHO.
OK-сначала я отметил решение, используя System.IO.Compression в качестве ответа, поскольку я никогда не мог "seem" заставить работать динамическое сжатие IIS7. Ну, как это получается:
Динамическое сжатие на IIS7 работало все время. Просто плагин Nikhil Web Developer Helper для IE не показал, что он работает. Я предполагаю, что поскольку SL передает вызов веб-службы браузеру, то браузер обрабатывает его "under the covers", и инструмент Nikhil никогда не видит сжатый ответ. Я смог подтвердить это с помощью Fiddler, который отслеживает трафик, внешний по отношению к браузерному приложению. В fiddler ответ был, по сути, gzip сжатым!!
Другая проблема с решением System.IO.Compression заключается в том, что System.IO.Compression не существует в Silverlight CLR.
Таким образом, с моей точки зрения, EASIEST способ включить сжатие WCF в Silverlight-это включить динамическое сжатие в IIS7 и вообще не писать код.
Выбрали компактный рамках/нарезание резьбы - MessageBox отображается над другими элементами управления после того, как опция
Я работаю над приложением, которое захватывает и устанавливает кучу обновлений с внешнего сервера,и мне нужна помощь с потоковой обработкой. Пользователь выполняет этот процесс:
- Нажимает кнопку
- Метод проверяет наличие обновлений, возвращается счетчик.
- Если больше 0, то спросите пользователя, если они хотят установить с помощью MessageBox.Show().
- Если да, то он проходит через цикл и вызывает BeginInvoke() в методе run() каждого обновления, чтобы запустить его в фоновом режиме.
- В моем классе обновления есть некоторые события, которые используются для обновления индикатора выполнения и т. д.
Обновления индикатора выполнения в порядке, но MessageBox не полностью очищается от экрана, потому что цикл обновления начинается сразу после нажатия пользователем кнопки да (см. снимок экрана ниже).
- Что я должен сделать, чтобы сделать messagebox исчезнуть мгновенно до начала цикла обновления?
- Должен ли я использовать потоки вместо BeginInvoke()?
- Должен ли я выполнять начальную проверку обновления в отдельном потоке и вызывать MessageBox.Show() из этого потока?
Код
// Button clicked event handler code...
DialogResult dlgRes = MessageBox.Show(
string.Format("There are {0} updates available.\n\nInstall these now?",
um2.Updates.Count), "Updates Available",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2
);
if (dlgRes == DialogResult.Yes)
{
ProcessAllUpdates(um2);
}
// Processes a bunch of items in a loop
private void ProcessAllUpdates(UpdateManager2 um2)
{
for (int i = 0; i < um2.Updates.Count; i++)
{
Update2 update = um2.Updates[i];
ProcessSingleUpdate(update);
int percentComplete = Utilities.CalculatePercentCompleted(i, um2.Updates.Count);
UpdateOverallProgress(percentComplete);
}
}
// Process a single update with IAsyncResult
private void ProcessSingleUpdate(Update2 update)
{
update.Action.OnStart += Action_OnStart;
update.Action.OnProgress += Action_OnProgress;
update.Action.OnCompletion += Action_OnCompletion;
//synchronous
//update.Action.Run();
// async
IAsyncResult ar = this.BeginInvoke((MethodInvoker)delegate() { update.Action.Run(); });
}
Скриншот
лучшая команда для Windows?
Пока я рос, используя MSWindows, я перешел на свой любимый Mac много лет назад. Я не хочу начинать войну пламени здесь, на операционных системах. Однако я хочу немного приблизиться к тому, к чему привык.
Я не прошу полной поддержки POSIX - у меня нет терпения установить Cygwin - но я скучаю по терминалам с вкладками, которые можно легко вырезать и вставлять, а также по моим хорошим друзьям ls , mkdir , rm и т. д. (Для этих последних я всегда мог бы поместить файлы .bat на свой путь, но это быстро устареет.)
У кого-нибудь есть приложение terminal для MSWindows XP ?
Проверка содержимого строки? длина строки Против пустой строки
Что более эффективно для компилятора и как лучше всего проверить, является ли строка пустой?
- Проверка, соответствует ли длина строки = = 0
- Проверка пустоты строки (strVar == "")
Кроме того, зависит ли ответ от языка?
531   13   21:06, 1st October, 2020
Каков наилучший способ поиска ALL вашей памяти при разработке на компактной платформе?
Я использовал CF Remote Performance Monitor, однако это, похоже, только отслеживает память, инициализированную в управляемом мире, в отличие от неуправляемого мира. Ну, я могу только предполагать это, поскольку числа, перечисленные в профилировщике, намного меньше максимально допустимого (32 Мб на CE 5). Профилирование конкретного приложения с помощью RPM показало мне, что общее использование всех кэшей удается получить только около 12 МБ, а затем медленно сжимается, поскольку (я предполагаю) что-то неуправляемое начинает требовать больше памяти. Ползунок памяти в системе также показывает, что устройство очень мало памяти. Если я убью процесс, ползунок покажет, что вся память возвращается. Так что он должен (?) быть этим управляемым процессом, который поглощает память.
Есть ли простой(иш?) мода как можно отслеживать неуправляемое использование памяти каким-то образом, что может позволить мне сопоставить его с соответствующими вызовами P/Invoke?
EDIT: для всех вас, повторных тегов, это не так .NET, помечая вопрос таким образом, путает вещи. Это.NETCF / Компактный Каркас. Я знаю, что они кажутся похожими, но они разные, потому что .NET скалы в то время как CF в основном просто обертка вокруг NotImplementedException.
Можно ли скопировать файлы в сетевое место из скрипта или командной строки?
Можно ли в Windows XP скопировать файлы в сетевое место из командной строки, пакетного файла или, еще лучше, скрипта PowerShell?
То, что привело меня на этот путь исследований, было попыткой опубликовать файлы в библиотеке документов WSS 3.0 с компьютера пользователя. Я не могу сопоставить диск с соответствующей библиотекой, потому что сайт WSS доступен только для аутентификации через NTLM на порту, отличном от 80 или 443. Я предполагаю, что я мог бы поочередно использовать веб-службы WSS для выталкивания файлов, но сейчас мне действительно интересно получить ответ на этот вопрос.
Каковы наиболее важные функциональные различия между C# и VB.NET?
Конечно, есть разница в общем синтаксисе, но какие еще критические различия существуют? Есть же какие -то различия, верно?
Каков общий консенсус в отношении поддержки Windows 2000?
Каков общий консенсус относительно поддержки Windows 2000 для распространения программного обеспечения? Поддерживают ли люди Windows XP SP2+ для разработки нового программного обеспечения или это все еще слишком ограничительно?
Решение для репликации сеансов FOSS ASP.Net?
Я искал (с небольшим успехом) свободное/открытое решение для кластеризации сеансов и репликации для asp.net. Я столкнулся с обычными подозреваемыми (indexus sharedcache, memcached), однако у каждого из них есть некоторые ограничения.
- Indexus - очень незрелая, заглушенная реализация интерфейса сеанса. Однако в остальном это отличное решение для кэширования.
- Memcached -небольшая поддержка репликации/failover без перехода на серверную часть БД. Несколько проектов SF.Net-все прерваны на ранних стадиях... ничего такого, что, по-видимому, имеет какую-то тягу, и тот, который, по-видимому, стал полностью коммерческим.
- Microsoft Velocity -не OSS, но вроде неплохо. К сожалению, я не видел, где CTP1 поддерживает failover,и нет четкой дорожной карты для этого. Я боюсь,что этот может упасть в эфир, как и многие другие проекты MS dev.
Я достаточно привык к миру Java, где считается само собой разумеющимся, что многие решения подобных проблем будут доступны из мира FOSS.
Существуют ли какие-либо подходящие альтернативы в мире .Net?
536   4   15:11, 2nd August, 2020
Как получить список каталогов в C?
Как вы сканируете каталог на наличие папок и файлов в C? Он должен быть кроссплатформенным.
Проблемы с #import из .NET out-of-proc сервер
В программе C++, я пытаюсь #import TLB из .NET out-of-proc сервер.
Я получаю ошибки, как:
z:\server.tlh (111): ошибка C2146: синтаксическая ошибка: отсутствует'; ' перед идентификатором 'GetType'
z:\server.tlh (111): ошибка C2501: '_TypePtr': отсутствуют спецификаторы класса хранения или типа
z:\server.tli (74): ошибка C2143: синтаксическая ошибка: отсутствует '; 'перед ' tag::id'
z:\server.tli (74): ошибка C2433: '_TypePtr': 'inline' не допускается в объявлениях данных
z:\server.tli (74): ошибка C2501: '_TypePtr': отсутствуют спецификаторы класса хранения или типа
z:\server.tli (74): неустранимая ошибка C1004: найден неожиданный конец файла
TLH выглядит так:
_bstr_t GetToString();
VARIANT_BOOL Equals (const _variant_t & obj);
long GetHashCode();
_TypePtr GetType();
long Open();
Я действительно не заинтересован в том, чтобы иметь базовый объект .NET объектные методы, такие как GetType(), Equals() и др. Но GetType(), кажется, вызывает проблемы.
Некоторые исследования google показывают, что я мог бы #import mscorlib.tlb (или поместить его в путь), но я не могу заставить это скомпилировать.
Какие-нибудь советы?
Как зарегистрировать COM из проекта VS Setup?
Я пометил свой DLL как vsdraCOM, и я могу видеть его в реестре после установки, но мое приложение не видит интерфейс COM, пока я не вызову RegAsm вручную. Почему это могло случиться?
Регистрация COM не работает на Vista (подтверждена мной) и на XP (подтверждена коллегой). Использование Visual Studio 2005 на XP.
Существуют ли какие-либо компоненты "mind mapping" для Delphi? (родной VCL предпочтительно)
Я ищу предварительно написанный компонент (w/source) для проекта Delphi, над которым я работаю, чтобы создать ментальные карты / концептуальные карты, подобные этим:
http://en.wikipedia.org/wiki/Image:MindMeister_screenshot_OS_X.jpg http://en.wikipedia.org/wiki/Image:XMIND_2008_in_Windows_Vista.png
Есть какие-нибудь идеи?
Bootstrapping все еще требует внешней поддержки
Я слышал об идее bootstrapping языка, то есть написания компилятора/интерпретатора для самого языка. Мне было интересно, как это можно сделать, и я немного огляделся, и увидел, что кто-то сказал, что это может быть сделано только одним из них
- написание исходного компилятора на другом языке.
- ручное кодирование исходного компилятора в Assembly, что выглядит как частный случай первого
Мне кажется, что ни то, ни другое на самом деле не является языком в том смысле, что они оба нуждаются в поддержке извне. Есть ли способ на самом деле написать компилятор на своем собственном языке?
У кого-нибудь есть тесты компонентов .Net Excel IO?
Мне нужно получить доступ к книгам Excel из .Net. я знаю все о разных способах сделать это (я написал их в блоге ), и я знаю, что использование собственного компонента .Net будет самым быстрым. Но вопрос в том, какая из составляющих выигрывает? Кто-нибудь проводил сравнительный анализ? Я использую Syncfusion XlsIO, но это очень медленно для некоторых ключевых операций (например, удаление строк в книге, содержащей тысячи именованных диапазонов).
Как я могу остановить MATLAB от возврата до завершения работы скрипта командной строки?
Я вижу в справке MATLAB (matlab -h), что могу использовать флаг -r для указания m-файла для запуска. Я замечаю, что когда я делаю это, MATLAB, кажется, начинает сценарий,но сразу же возвращается. Скрипт работает нормально, но главное приложение уже вернулось.
Есть ли какой-либо способ заставить MATLAB вернуться только после завершения команды? Если вы вызываете его из отдельной программы, кажется, что проще дождаться процесса,чем использовать файл или сокеты для подтверждения завершения.
Для иллюстрации приведем пример функции waitHello.m :
function waitHello
disp('Waiting...');
pause(3); %pauses 3 seconds
disp('Hello World');
quit;
И я пытаюсь запустить это с помощью:
matlab -nosplash -nodesktop -r waitHello
Кто-нибудь использовал NUnitLite с каким-либо успехом?
Недавно я начал работу над Compact Framework, и мне было интересно, есть ли у кого-нибудь рекомендации по модульному тестированию за пределами того, что находится в VS 2008. MSTest-это нормально, но отладка тестов-это кошмар, и тестовый бегун очень медленный.
Я вижу, что NUnitLite на codeplex-это вариант, но он не выглядит очень активным; он также находится в дорожной карте для NUnit 3.0,но кто знает, когда это выйдет. У кого-нибудь был успех с этим?
Альфа-смешивание цветов в компактной структуре .NET 2.0
В полной платформе .NET вы можете использовать метод Color.FromArgb() для создания нового цвета с Альфа-смешиванием, например::
Color blended = Color.FromArgb(alpha, color);
или
Color blended = Color.FromArgb(alpha, red, green , blue);
Однако в Compact Framework (2.0 конкретно) ни один из этих методов не доступен, вы только получаете:
Color.FromArgb(int red, int green, int blue);
и
Color.FromArgb(int val);
Первый из них, очевидно, даже не позволяет ввести Альфа-значение, но документация для последнего показывает, что "val"-это 32-битное значение ARGB (как 0xAARRGGBB в отличие от стандартного 24-битного 0xRRGGBB), поэтому было бы разумно просто построить значение ARGB и передать его функции. Я попробовал это сделать со следующим:
private Color FromARGB(byte alpha, byte red, byte green, byte blue)
{
int val = (alpha << 24) | (red << 16) | (green << 8) | blue;
return Color.FromArgb(val);
}
Но независимо от того, что я делаю, Альфа-смешивание никогда не работает, результирующий цвет всегда имеет полную непрозрачность, даже если значение альфа равно 0.
Кто-нибудь получил это, чтобы работать на компактной основе?
Множественный выбор на WinForms
Каков наилучший способ реализации варианта множественного выбора в формах Windows? Я хочу применить один выбор из списка, начиная со значения по умолчанию.
Похоже, что ComboBox будет хорошим выбором, но есть ли способ указать непустое значение по умолчанию?
Я мог бы просто установить его в коде в какой-то соответствующей точке инициализации, но я чувствую, что чего-то не хватает.
Mixed C++ / CLI TypeLoadException внутреннее ограничение: слишком много полей
Стремясь перенести некоторые новые UI в Managed/C# земли, я недавно включил поддержку Common Language Runtime Support (/clr) в большом устаревшем проекте, который использует MFC в общем DLL и опирается на около десятка других проектов в рамках нашего общего решения. Этот проект является ядром нашего приложения и будет управлять любым управляемым кодом UI, который создается (следовательно, необходимо включить поддержку clr для interop).
После исправления тонны мелких мелких ошибок и предупреждений мне наконец удалось заставить приложение компилироваться.. Однако запуск приложения вызывает EETypeLoadException и оставляет меня неспособным выполнить отладку...
Немного покопавшись, я обнаружил, что причина была "System.TypeLoadException: внутреннее ограничение: слишком много полей.- что происходит прямо в конце компиляции. Затем я нашел эту ссылку , которая предлагает разбить assembly на две или более библиотек DLL. Однако в моем случае это невозможно, поскольку ограничение, которое я имею, заключается в том, что унаследованный код в основном остается нетронутым.
Может ли кто-нибудь предложить другие возможные решения? Я действительно в тупике здесь.
Найдите наилучшую комбинацию из заданного множества множеств
Скажем, у вас есть груз. Он должен пройти от точки А до точки Б, от точки Б до точки C и, наконец, от точки C до точки D. вам нужно добраться туда за пять дней за наименьшую сумму денег. Есть три возможных грузоотправителя для каждой ноги, каждый со своим собственным различным временем и стоимостью для каждой ноги:
Array
(
[leg0] => Array
(
[UPS] => Array
(
[days] => 1
[cost] => 5000
)
[FedEx] => Array
(
[days] => 2
[cost] => 3000
)
[Conway] => Array
(
[days] => 5
[cost] => 1000
)
)
[leg1] => Array
(
[UPS] => Array
(
[days] => 1
[cost] => 3000
)
[FedEx] => Array
(
[days] => 2
[cost] => 3000
)
[Conway] => Array
(
[days] => 3
[cost] => 1000
)
)
[leg2] => Array
(
[UPS] => Array
(
[days] => 1
[cost] => 4000
)
[FedEx] => Array
(
[days] => 1
[cost] => 3000
)
[Conway] => Array
(
[days] => 2
[cost] => 5000
)
)
)
Как вы собираетесь найти лучшую комбинацию программно?
Моя лучшая попытка до сих пор (третий или четвертый алгоритм) :
- Найдите самый длинный грузоотправитель для каждой ноги
- Устранить большинство "expensive" один
- Найти самый дешевый грузоотправитель для каждой ноги
- Рассчитайте общую стоимость & дней
- Если дни приемлемы, закончите, иначе, Гото 1
Быстро высмеивается в PHP (обратите внимание, что тестовый массив ниже работает плавно, но если вы попробуете его с тестовым массивом сверху, он не найдет правильную комбинацию):
$shippers["leg1"] = array(
"UPS" => array("days" => 1, "cost" => 4000),
"Conway" => array("days" => 3, "cost" => 3200),
"FedEx" => array("days" => 8, "cost" => 1000)
);
$shippers["leg2"] = array(
"UPS" => array("days" => 1, "cost" => 3500),
"Conway" => array("days" => 2, "cost" => 2800),
"FedEx" => array("days" => 4, "cost" => 900)
);
$shippers["leg3"] = array(
"UPS" => array("days" => 1, "cost" => 3500),
"Conway" => array("days" => 2, "cost" => 2800),
"FedEx" => array("days" => 4, "cost" => 900)
);
$times = 0;
$totalDays = 9999999;
print "<h1>Shippers to Choose From:</h1><pre>";
print_r($shippers);
print "</pre><br />";
while($totalDays > $maxDays && $times < 500){
$totalDays = 0;
$times++;
$worstShipper = null;
$longestShippers = null;
$cheapestShippers = null;
foreach($shippers as $legName => $leg){
//find longest shipment for each leg (in terms of days)
unset($longestShippers[$legName]);
$longestDays = null;
if(count($leg) > 1){
foreach($leg as $shipperName => $shipper){
if(empty($longestDays) || $shipper["days"] > $longestDays){
$longestShippers[$legName]["days"] = $shipper["days"];
$longestShippers[$legName]["cost"] = $shipper["cost"];
$longestShippers[$legName]["name"] = $shipperName;
$longestDays = $shipper["days"];
}
}
}
}
foreach($longestShippers as $leg => $shipper){
$shipper["totalCost"] = $shipper["days"] * $shipper["cost"];
//print $shipper["totalCost"] . " <?> " . $worstShipper["totalCost"] . ";";
if(empty($worstShipper) || $shipper["totalCost"] > $worstShipper["totalCost"]){
$worstShipper = $shipper;
$worstShipperLeg = $leg;
}
}
//print "worst shipper is: shippers[$worstShipperLeg][{$worstShipper['name']}]" . $shippers[$worstShipperLeg][$worstShipper["name"]]["days"];
unset($shippers[$worstShipperLeg][$worstShipper["name"]]);
print "<h1>Next:</h1><pre>";
print_r($shippers);
print "</pre><br />";
foreach($shippers as $legName => $leg){
//find cheapest shipment for each leg (in terms of cost)
unset($cheapestShippers[$legName]);
$lowestCost = null;
foreach($leg as $shipperName => $shipper){
if(empty($lowestCost) || $shipper["cost"] < $lowestCost){
$cheapestShippers[$legName]["days"] = $shipper["days"];
$cheapestShippers[$legName]["cost"] = $shipper["cost"];
$cheapestShippers[$legName]["name"] = $shipperName;
$lowestCost = $shipper["cost"];
}
}
//recalculate days and see if we are under max days...
$totalDays += $cheapestShippers[$legName]['days'];
}
//print "<h2>totalDays: $totalDays</h2>";
}
print "<h1>Chosen Shippers:</h1><pre>";
print_r($cheapestShippers);
print "</pre>";
Я думаю, что мне, возможно, придется на самом деле сделать что-то вроде того, где я буквально делаю каждую комбинацию по одному (с серией петель) и складываю общее "score" каждого и нахожу лучший....
EDIT: Чтобы уточнить, это не задание "homework" (я не в школе). Это часть моего текущего проекта на работе.
Требования (как всегда) постоянно менялись. Если бы мне дали текущие ограничения в то время, когда я начал работать над этой проблемой, я бы использовал какой-то вариант алгоритма A* (или Dijkstra'S, или shortest path, или simplex, или что-то еще). Но все менялось и менялось, и это привело меня туда, где я сейчас нахожусь.
Поэтому я думаю, что это означает, что мне нужно забыть обо всем дерьме, которое я сделал до этого момента, и просто пойти с тем, что я знаю, что должен идти, что является алгоритмом поиска пути.
Ищем пример командного шаблона для UI
Я работаю над приложением WinForm .Net с базовым UI, которое включает кнопки панели инструментов, пункты меню и нажатия клавиш, которые все инициируют один и тот же базовый код. Прямо сейчас обработчики событий для каждого из них вызывают общий метод для выполнения функции.
Из того, что я прочитал, этот тип действий может быть обработан шаблоном проектирования команд с дополнительным преимуществом автоматического включения/выключения или проверки/снятия флажков элементов UI.
Я искал в сети хороший примерный проект, но так и не нашел его. Есть ли у кого-нибудь хороший пример, которым можно поделиться?
Можно ли использовать новое размещение для массивов переносным способом?
Можно ли на самом деле использовать размещение нового в переносимом коде при использовании его для массивов?
Похоже, что указатель, который вы получаете от new[], не всегда совпадает с адресом, который вы передаете (5.3.4, Примечание 12 в стандарте, кажется, подтверждает, что это правильно), но я не вижу, как вы можете выделить буфер для массива, чтобы войти в него, если это так.
В следующем примере показана проблема. Скомпилированный с помощью Visual Studio, этот пример приводит к повреждению памяти:
#include <new>
#include <stdio.h>
class A
{
public:
A() : data(0) {}
virtual ~A() {}
int data;
};
int main()
{
const int NUMELEMENTS=20;
char *pBuffer = new char[NUMELEMENTS*sizeof(A)];
A *pA = new(pBuffer) A[NUMELEMENTS];
// With VC++, pA will be four bytes higher than pBuffer
printf("Buffer address: %x, Array address: %x\n", pBuffer, pA);
// Debug runtime will assert here due to heap corruption
delete[] pBuffer;
return 0;
}
Глядя на память, компилятор, похоже, использует первые четыре байта буфера для хранения подсчета количества элементов в нем. Это означает, что поскольку буфер имеет только sizeof(A)*NUMELEMENTS размер, последний элемент массива записывается в нераспределенную кучу.
Итак, вопрос в том, Можете ли вы узнать, сколько дополнительных накладных расходов требуется вашей реализации для безопасного использования placement new[]? В идеале мне нужна техника, переносимая между разными компиляторами. Обратите внимание, что, по крайней мере, в случае VC, накладные расходы, похоже, отличаются для разных классов. Например, если я удаляю виртуальный деструктор в Примере, то адрес, возвращаемый из new[], совпадает с адресом, который я передаю.
Есть ли способ обработки ошибок из объектов COM в RDML?
Есть ли способ обработки ошибок из объектов COM в RDML? Например, при вызове методов Word VBA, таких как PasteSpecial, возвращается ошибка и приложение LANSA завершает работу. Я не могу найти ничего в документации, чтобы разрешить обработку этих ошибок.
На самом деле, обработка ошибок вообще является слабым местом для LANSA и RDML, но это другая тема.
Как определить, открыт ли конкретный файл в Windows?
Один из моих любимых инструментов для linux - это lsof -настоящий швейцарский армейский нож!
Сегодня мне стало интересно, какие программы в системе WinXP имели конкретный открытый файл. Существует ли какая-либо эквивалентная утилита для lsof? Кроме того, файл, о котором идет речь, был на сетевом ресурсе, поэтому я не уверен, что это усложняет дело.
Какие инструменты (бесплатные или другие) вы находите полезными для разработки и отладки C#/C++?
Вот некоторые из них, которые я использую (все они находятся в свободном доступе):
Hex Редактор: Hexplorer
Отладчик: WinDbg
Компилятор Документации: SandCastle
Автоматическая Сборка: Круиз Control.Net
Что такое lambda (функция)?
Что такое lambda в мире компьютерных наук для человека, не имеющего опыта работы в области компьютерных наук?
476   2   06:46, 29th August, 2020
Delphi и COM: TLB и вопросы технического обслуживания
В компании, где я работаю, мы разрабатываем все GUI в C#,, но приложение kernel в основном разработано в Delphi 5 (по историческим причинам), с большим количеством компонентов, сделанных в COM+. В связи с этим очень специфическим видом применения a I два вопроса:
Опытные ребята в Delphi и / или COM, есть ли у вас какие-либо обходные пути для работы с багги TLB интерфейсом ? Некоторые из ошибок: IDE сбой во время выпуска большого TLB, потеря методов IDs, TLB повреждение и т.д. Здесь мы не нашли никакого хорошего решения. На самом деле мы пытались сделать обновление до новой версии 2007 года. Но новый интерфейс IDE TLB имеет те же ошибки, которые мы нашли раньше.
Как вы управляете версиями TLBs ? Файл TLB находится в двоичном формате, и разрешение конфликтов очень трудно сделать. Мы попытались сделать это, экспортируя описания интерфейсов в IDL и фиксируя в CVS, но мы не нашли никакого хорошего способа генерировать TLBs из IDL, используя Delphi. Кроме того, инструмент MIDL, предоставленный Microsoft, неправильно проанализировал файлы IDL, которые мы экспортировали из delphi.
Разница между массивом байтов и потоком памяти
Я читаю двоичный файл в программу синтаксического анализа. Мне нужно будет перебирать файл и искать определенные маркеры, чтобы я мог разделить файл и передать эти части в конструкторы соответствующих объектов.
Есть ли преимущество в сохранении файла в виде потока, будь то MemoryStream или FileStream, или он должен быть преобразован в массив byte[]?
Кит
Как отправить файл в виде вложения email с помощью командной строки Linux?
Я создал скрипт, который работает каждую ночь на моем сервере Linux, который использует mysqldump для резервного копирования каждой из моих баз данных MySQL в файлы .sql и упаковывает их вместе в сжатый файл .tar. Следующий шаг, который я хочу сделать, - это отправить этот tar-файл через email на удаленный сервер email для безопасного хранения. Я смог отправить сырой скрипт в теле email, передав резервный текстовый файл в mailx примерно так:
$ cat mysqldbbackup.sql | mailx backup@email.com
cat повторяет текст файла резервной копии, который передается в программу mailx с адресом получателя email, передаваемым в качестве аргумента.
Хотя это делает то, что мне нужно, я думаю, что это может быть на один шаг лучше, есть ли какой-либо способ, используя скрипты shell или иным образом, отправить сжатый файл .tar в исходящее сообщение email в качестве вложения ? Это было бы лучше, чем иметь дело с очень длинными сообщениями email, которые содержат данные заголовка и часто имеют проблемы с переносом слов и т. д.
Как лучше всего распределить инструменты командной строки python?
Мой текущий скрипт setup.py работает нормально, но он устанавливает tvnamer.py (инструмент) как tvnamer.py в пакеты сайта или что-то подобное..
Можно ли сделать setup.py install tvnamer.py как tvnamer и / или есть ли лучший способ установки приложений командной строки?
Что вы думаете о разработке для командной строки в первую очередь?
Каково Ваше мнение о разработке для командной строки сначала, а затем добавить GUI на постфактум, просто вызвав методы командной строки?
напр..
Ж:\ Тодо AddTask "meeting with John, re: login peer review" "John's office" "2008-08-22" "14:00"
загружает todo.exe и вызывает функцию с именем AddTask , которая выполняет некоторую проверку и запускает собрание в базе данных.
В конце концов вы добавляете экран для этого:
============================================================ Event: [meeting with John, re: login peer review] Location: [John's office] Date: [Fri. Aug. 22, 2008] Time: [ 2:00 PM] [Clear] [Submit] ============================================================
Когда вы нажимаете кнопку Отправить, он вызывает ту же самую функцию AddTask.
Считается ли это так:
- хороший способ кодирования
- только для новичков
- ужасно!.
Дополнение :
Я замечаю тенденцию здесь для "shared library called by both the GUI and CLI executables." есть ли какая-то убедительная причина, почему они должны быть разделены, кроме, возможно, размера самих двоичных файлов?
Почему бы просто не вызвать один и тот же исполняемый файл разными способами:
"todo /G"когда вам нужен полноценный графический интерфейс"todo /I"для интерактивного приглашения в пределахtodo.exe(сценарии и т. д)- обычный старый
"todo <function>", когда вы просто хотите сделать что-то одно и покончить с этим.
Приложение 2 :
Было упомянуто, что "так, как [я] описал вещи, вам [нужно] будет порождать исполняемый файл каждый раз, когда GUI нужно что-то сделать."
Опять же, это не входило в мои намерения. Когда я упомянул, что пример GUI вызывал "ту же самую функцию AddTask ", я не имел в виду, что GUI вызывал программу командной строки каждый раз. Я согласен, что это было бы очень неприятно. Я предполагал (см. Первое добавление), что все это будет храниться в одном исполняемом файле, поскольку это был крошечный пример, но я не думаю, что моя формулировка обязательно исключала общую библиотеку.
Кроме того, я хотел бы поблагодарить всех вас за Ваш вклад. Это то, что постоянно всплывает у меня в голове, и я ценю мудрость вашего опыта.
Как я могу украсить код JavaScript с помощью командной строки?
Я пишу пакетный скрипт для того, чтобы украсить код JavaScript. Он должен работать как на Windows , так и на Linux .
Как я могу украсить код JavaScript с помощью инструментов командной строки?
453   9   04:54, 3rd August, 2020
Как я могу отменить регистрацию COM DLL, изначально добавленных с RegSvr32, когда /u arg не работает?
Правильно, изначально бежал:
c:\regsvr32 Amazing.dll
затем (случайно-я мог бы добавить) я должен был запустить его снова, и (действительно) снова, когда были выпущены новые версии 'Amazing.dll'. Да , теперь я знаю, что должен был бежать.:
c:\regsvr32 /u Amazing.dll
заранее-но эй! А я и забыл.
Чтобы перейти к сути дела, когда я добавляю ссылку COM в VS, я вижу 3 экземпляра 'Amazing', все они указывают на одно и то же место (c:\Amazing.dll), запуск regsvr32 /u удаляет одну из ссылок, во второй раз - ничего не делает...
Как мне избавиться от этих ссылок? Я смотрю на сценарий regedit? - Если да - что именно произойдет, если я удалю один из ключей???
Овации
CMD.exe замена
Кто-нибудь знает о хорошей замене командной строки? Я пробовал bash/Cygwin,, но это не совсем соответствует моим потребностям на работе, потому что это слишком тяжело. Мне бы хотелось иметь function-for-function идентичную оболочку на cmd.exe, но с подсветкой, intellisense и (критически) вкладочным интерфейсом. Powershell-это нормально, но интерфейс все еще отсутствует.
Есть ли какой-то способ передать данные PUSH с веб-сервера в браузер?
Конечно, я знаю о Ajax, но проблема с Ajax заключается в том, что браузер должен часто опрашивать сервер, чтобы узнать, есть ли новые данные. Это увеличивает нагрузку на сервер.
Есть ли какой-либо лучший метод (даже с использованием Ajax), кроме частого опроса сервера?
Как лучше всего распределить инструменты командной строки python?
Мой текущий скрипт setup.py работает нормально, но он устанавливает tvnamer.py (инструмент) как tvnamer.py в пакеты сайта или что-то подобное..
Можно ли сделать setup.py install tvnamer.py как tvnamer и / или есть ли лучший способ установки приложений командной строки?
Как лучше всего анализировать аргументы командной строки?
Какой самый простой , лаконичный и гибкий метод или библиотека для разбора аргументов командной строки Python?
Обработать содержимое запроса raw HTTP
Я делаю решение для электронной коммерции в ASP.NET, которое использует стандартный сервис платежей на веб-сайте PayPal . Вместе с этим я использую услугу, которую они предлагают ( передача платежных данных), которая отправляет вам информацию о заказе после того, как пользователь завершил платеж. Последнее, что мне нужно сделать, это проанализировать запрос POST от них и сохранить информацию в нем. Содержимое запроса HTTP находится в этой форме :
SUCCESS
имя=Джейн+Мэ
фамилия=Smith
payment_status=завершено
payer_email=janedoesmith%40hotmail.com
payment_gross=3.99
mc_currency=USD
заказ=по+С+купить+в+о+редкая+книга+зеленый+яйца+%26+ветчина
В основном я хочу разобрать эту информацию и сделать что-то значимое, например, отправить ее по электронной почте или сохранить в DB. Мой вопрос заключается в том, что является правильным подходом к разбору необработанных данных HTTP в ASP.NET, а не как сам разбор выполняется.
DCOM: CoCreateInstanceEx возвращает E_ACCESSDENIED
Я работаю над приложением DCOM с сервером и клиентом на двух машинах, на обеих из которых работает WinXP с пакетом обновления 2. На обеих машинах я вошел в систему с одним и тем же именем пользователя и паролем.
Когда клиент на одной машине вызывает CoCreateInstanceEx, прося другую машину запустить серверное приложение, он возвращает E_ACCESSDENIED.
Я попытался войти в свойства компонентов серверного приложения в dcomcnfg и дать всем полные разрешения на все, но это не помогло.
Что мне нужно сделать, чтобы этот призыв увенчался успехом?
Update: когда серверное приложение работает на коробке Windows 2000, я не получаю эту ошибку; CoCreateInstanceEx возвращает S_OK.
Пакетный файл для "Script" базы данных
Можно ли как-то использовать .bat -файл для сценария схемы и / или содержимого базы данных сервера SQL?
Я могу сделать это с помощью мастера, но хотел бы упростить создание этого файла для целей управления версиями.
Я хотел бы избежать использования сторонних инструментов, просто ограничивая себя инструментами, которые поставляются с сервером SQL.
433   1   15:09, 7th August, 2020
Можно ли совместно использовать транзакцию между приложением .Net и объектом COM+?
Некоторое время назад я провел несколько тестов и так и не понял, как это сделать.
Ингредиент:
- COM + транзакционный объект (разработан в VB6)
- .Net веб-приложение (с транзакцией) в IIS что...
выполняет вызов компонента COM+
обновление строки в базе данных SQL
Тестирование :
Запустите приложение .Net и принудительно создайте исключение.
Результат :
Обновление, выполненное из приложения .Net, откатывается назад.
Обновление, выполненное объектом COM+, не откатывается.
Если я вызываю объект COM+ со старой страницы ASP, откат срабатывает.
Я знаю, что некоторые люди могут думать: "что?! COM+ и .Net вы, должно быть, сошли с ума!", но есть некоторые места в этом мире, где все еще есть много компонентов COM+. Мне просто было любопытно, сталкивался ли кто-нибудь с этим и выяснил ли ты, как это сделать.
Сложность замены Regex
Ответа на этот вопрос я нигде не получил. Какова сложность выполнения Regex-го совпадения и замены?
Edit: я работаю в python. Но хотелось бы знать в целом о самых популярных языках / инструментах (java, perl, sed).
Как сравнить два массива объектов DataRow в PowerShell?
У меня есть два массива объектов System.Data.DataRow , которые я хочу сравнить.
Строки имеют два столбца A и B. столбец A является ключом, и я хочу узнать, какие строки были изменены в столбце B, а какие строки были добавлены или удалены.
Как это сделать в PowerShell?
Sharepoint COMException 0x81020037
Я работаю над приложением SharePoint, которое поддерживает импорт нескольких документов в одной операции. У меня также есть обработчик событий ItemAdded, который выполняет некоторое базовое обслуживание метаданных элемента. Это событие срабатывает как для импортированных документов, так и для созданных вручную. Последняя часть головоломки-это функция пакетной операции, которую я реализовал, чтобы запустить рабочий процесс и обновить другое поле метаданных.
Я могу вызвать COMException 0x81020037, извлекая данные файла SPListItem. Этот файл - всего лишь документ формы InfoPath/XML. Я могу изменить XML и успешно подтолкнуть его обратно в SPListItem. Когда я запускаю пользовательскую функцию сразу после этого и изменяю метаданные, это иногда вызывает ошибку COM.
Сообщение об ошибке в основном указывает,что файл был изменен другим потоком. Казалось бы, событие ItemAdded все еще записывает файл обратно в базу данных, в то время как пользовательская функция изменяет метаданные. Я попытался ввести задержки и циклы перехвата ошибок, чтобы попытаться обнаружить, что SPListItem безопасно изменять с небольшим успехом.
Есть ли способ узнать, имеет ли другой поток блокировку на документе?
Почему сжатие ASP.NET gzip портит CSS?
У меня есть приложение ASP.NET webforms (3.5 SP1), над которым я работаю, и пытаюсь включить gzip fpr HTML и CSS, которые спускаются по трубе. Я использую эту реализацию (и попробовал несколько других, которые подключаются к Application_BeginRequest), и, похоже, она разрушает внешний файл CSS, который используют страницы, но intermittently...suddenly все стили исчезнут при обновлении страницы, останутся на некоторое время, а затем внезапно снова начнут работать.
И IE7, и FF3 демонстрируют такое поведение. При просмотре CSS с помощью панели инструментов веб-разработчика, он возвращает тарабарщина. Заголовок cache-control проходит как "private,", но я не знаю достаточно, чтобы выяснить, является ли это фактором, способствующим или нет.
Кроме того, это выполняется на сервере разработки ASP.NET. Может быть, это было бы хорошо с IIS, но я разрабатываю на XP, и это будет IIS5.
Как мне кластеризировать папку загрузки с ASP.Net?
У нас есть ситуация, когда пользователям разрешено загружать контент, а затем отдельно вносить некоторые изменения, а затем отправлять форму на основе этих изменений.
Это прекрасно работает в односерверной среде, отличной от failover, однако мы хотели бы получить какое-то решение для совместного использования файлов между серверами, поддерживающими failover.
Кто-нибудь сталкивался с этим в прошлом? И какие решения вы смогли разработать? Очевидно, что сохранение в базе данных является одним из вариантов, но мы предпочли бы избежать этого.
440   4   03:18, 9th August, 2020
Существует ли инструмент сравнения с открытым исходным кодом SQL Server DB?
Я работаю над проектом с открытым исходным кодом, который использует SQL Server 2005 в качестве хранилища данных. Нам нужен инструмент сравнения DB для создания скриптов diff, чтобы иметь возможность обновить DB из одной версии в другую.
Есть ли открытый исходный код или бесплатный инструмент SQL Server DB diff, который генерирует скрипт преобразования?
Уведомление о выпадении перетаскивания в Windows
В программе My C# есть список файлов, которые можно перетащить из нее в другую программу. Мои требования заключаются в том, чтобы сначала скопировать файл в другой каталог.
Итак, можно ли уведомить меня об операции удаления, чтобы я мог скопировать файл только в случае успеха операции? Я бы предпочел подождать, пока не узнаю, что его нужно скопировать, прежде чем выполнять копию.
Кроме того, можно ли узнать, в какой программе происходит операция сброса? В идеале я хотел бы изменить путь к файлу на основе того, кто или что его отбрасывает.
Решение этой проблемы может быть любым .NET язык или C/C++ с COM .
Лучший / самый быстрый формат сжатия для баз данных (sqlserver)?
Кто-нибудь нашел хороший формат сжатия для баз данных MS Sqlserver? Если да, то что вы используете и довольны ли вы тем, как он работает?
Моя компания часто сжимает снимок базы данных с одного из наших клиентов и загружает его, чтобы у нас была локальная копия для тестирования и разработки. Мы пробовали zip в прошлом, но как только файлы базы данных пересекли границу 4Gb, нам пришлось использовать rar (zip-это только 32-бит). Проблема в том, что RAR занимает много времени для сжатия, и мы не знаем, дает ли он нам лучшую степень сжатия.
Это не вопрос о утилите сжатия, а формат сжатия. Мы используем WinRar, но рассматриваем 7zip, который поддерживает ряд форматов.
Lisp исполняемый файл
Я только начал изучать Lisp и не могу понять, как скомпилировать и связать код lisp с исполняемым файлом.
Я использую clisp и clisp -c для получения двух файлов:
- .fas
- .lib
Что мне делать дальше, чтобы получить исполняемый файл?
Вывод метки времени компиляции в исполняемом файле Visual C++?
Как я могу вставить информацию о компиляции timestamp в исполняемый файл, который я строю с помощью Visual C++ 2005? Я хочу иметь возможность выводить что-то подобное, когда я выполняю программу:
Эта сборка XXXX была скомпилирована в dd-mm-yy, hh:mm.
где дата и время отражают время, когда был построен проект. Они не должны изменяться при каждом последующем вызове программы, если только она не будет перекомпилирована.
Как я могу узнать имя исполняющего ?exe?
Компактная платформа не поддерживает Assembly.GetEntryAssembly для определения запуска .exe. Так что есть еще один способ получить имя исполнителя .exe?
EDIT: я нашел ответ в блоге Питера фута: http://peterfoot.net/default.aspx вот код:
byte[] buffer = new byte[MAX_PATH * 2];
int chars = GetModuleFileName(IntPtr.Zero, buffer, MAX_PATH);
if (chars > 0)
{
string assemblyPath = System.Text.Encoding.Unicode.GetString(buffer, 0, chars * 2);
}
[DllImport("coredll.dll", SetLastError = true)]
private static extern int GetModuleFileName(IntPtr hModule, byte[] lpFilename, int nSize);
Доступ к компонентам .NET из Powershell
Я хочу использовать Powershell для написания некоторых утилит, используя наши собственные компоненты .NET для выполнения фактической работы. Это вместо написания небольшого консольного приложения, чтобы связать вызовы вместе. Мой вопрос заключается в том, где я мог бы найти хороший источник документации или учебных материалов, чтобы помочь мне быстро отслеживать это?
Compact Framework - есть ли в наличии фреймворк MVC/библиотека?
Я нашел статью на эту тему от сотрудника Microsoft, но кто-нибудь реализовал более надежную структуру для этого? Существует ли легкий фреймворк для WinForms, который можно было бы легко портировать? Я хотел бы довольно быстро войти в курс дела и избежать создания собственной структуры/библиотеки, чтобы справиться с этим, когда кто-то более умный уже сделал это.
Я не смотрел на фабрику мобильного программного обеспечения из группы P&P, но подозреваю, что она довольно тяжелая. Стоит ли на это смотреть?
Edit: я не ищу информацию о проекте ASP.NET MVC. Я спрашиваю о реализации compact framework 'WinForms' и о том, как реализовать MVC с помощью этого.
553   7   00:19, 3rd August, 2020
Сравнение массивов объектов в JavaScript
Я хочу сравнить 2 массива объектов в коде JavaScript. Объекты имеют 8 общих свойств, но каждый объект не будет иметь значения для каждого, и массивы никогда не будут больше 8 элементов каждый, так что, возможно, метод грубой силы обхода каждого и затем просмотра значений 8 свойств является самым простым способом сделать то, что я хочу сделать, но перед реализацией я хотел бы посмотреть, есть ли у кого-нибудь более элегантное решение. Есть какие-нибудь мысли?
Комментирование LaTeX PDF документов с помощью PDF reader
В настоящее время я пишу свою бакалаврскую диссертацию с latex и использованием TexnicCenter. Я хочу иметь возможность отправлять свой сгенерированный файл pdf людям, и они должны иметь возможность писать комментарии. Похоже, что комментирование не разрешено по умолчанию, как я могу это изменить?
Я использую straight to PDF с pdflatex и acrobat reader 9, чтобы читать и комментировать файлы
Сравнение двух схем XML
Существуют ли какие-либо инструменты для эффективного сравнения двух схем XML? Я видел некоторые общие инструменты XML diff, но мне было интересно, есть ли что-нибудь, что знает больше о схемах.
C в Visual Studio
Я пытаюсь выучить C. Как разработчик C#, мой IDE-это Visual Studio. Я слышал, что это хорошая среда для развития C/C++. Однако, кажется, независимо от того, что я пытаюсь сделать, интуиция меня подводит. Может ли кто-то дать хорошие ресурсы для того, чтобы либо:
- изучите входы и выходы из C в Visual Studio
- рекомендую лучший компилятор C IDE +
Правка: Смотрите также: https://stackoverflow.com/questions/951516/a-good-c-ide
Компилятор .NET -- DEBUG против RELEASE
В течение многих лет я использую константу компилятора DEBUG в VB.NET для записи сообщений в консоль. Я также использовал System.Diagnostics.Debug.Write подобным образом. Я всегда понимал, что когда RELEASE использовался в качестве опции сборки, все эти операторы были опущены компилятором, освобождая ваш производственный код от накладных расходов отладочных операторов. Недавно, работая с Silverlight 2 Beta 2, я заметил, что Visual Studio на самом деле подключается к сборке RELEASE, которую я запускал с общедоступного веб-сайта, и отображает DEBUG инструкции, которые, как я предполагал, даже не были скомпилированы! Итак, моя первая склонность заключается в предположении, что с моим окружением что-то не так, но я также хочу спросить любого, кто обладает глубокими знаниями о System.Diagnostics.Debug и DEBUG build option в целом, что я могу здесь неправильно понять.
Лучший компрессор JavaScript
Какой самый лучший компрессор JavaScript доступен? Я ищу инструмент, который:
- прост в использовании
- имеет высокую степень сжатия
- Производить надежные конечные результаты (не портит код)
Compact Framework-как динамически создать тип без конструктора по умолчанию?
Я использую .NET CF 3.5. Тип, который я хочу создать, не имеет конструктора по умолчанию, поэтому я хочу передать строку перегруженному конструктору. Как мне это сделать?
Код:
Assembly a = Assembly.LoadFrom("my.dll");
Type t = a.GetType("type info here");
// All ok so far, assembly loads and I can get my type
string s = "Pass me to the constructor of Type t";
MyObj o = Activator.CreateInstance(t); // throws MissMethodException
Настройка скрипта PowerShell для автоматического выполнения
У меня есть несколько строк кода PowerShell, которые я хотел бы использовать в качестве автоматического сценария. Способ, которым я хотел бы, чтобы он мог работать, - это иметь возможность вызвать его, используя один из следующих вариантов:
- Одна командная строка, которая открывает PowerShell, выполняет скрипт и закрывает PowerShell (это будет использоваться для глобальной процедуры сборки)
- Файл, который я могу дважды щелкнуть, чтобы выполнить описанное выше (я бы использовал этот метод при ручном тестировании компонентов моего процесса сборки)
Я просматривал документацию PowerShell в интернете, и хотя я могу найти много сценариев, я не смог найти инструкции о том, как сделать то, что мне нужно. Спасибо за помощь.
Клавиатурное сокращение в mc: показать/скрыть скрытые файлы [SOLVED]?
Подскажите клавиатурное сокращение (или способ его создать) для сокрытия/отображения скрытых файлов в mc. А я за это расскажу, что диалог «поиск файла» можно вызвать нажав shift+alt+? (а в меню написано M+?).
Python и COM-объекты?
1
Запускаем в PythonWin — > Tools — > COM Browser — >
смотрим название интересующей нас библиотеки в «Registered Type Libraries» — >
запускаем python.exe — >
>>> import win32com.client.makepy as makepy<br/>
>>> makepy.ShowInfo('название интересующей нас библиотеки, которое мы нашли в Registered Type Libraries')
— > ура! он нам сгенерит модуль, который поместит в специальную папку <module 'win32com.gen_py.название-модуля-из-большого-количества-букв-и-цифр' from 'C:\Python26\lib\site-packages\win32com\gen_py\название-модуля-из-большого-количества-букв-и-цифр'>
И этот модуль, с большущим, неимпортируемым названием, реально появится в той папке — .../gen_py
А вопрос вот в чем. Что с этим модулем можно сделать дальше? И, соответственно — как?
2
С помощью win32com.client.Dispatch('название-чего-то') мы можем обращаться к интерфейсам, которые указаны в спецификациях. И делать с ними то, что там указано.
Однако, если мы не знаем «названия-этого-чего-то» — как найти и использовать то, что нам позволяет делать запущенный и действующий сервер COM-объектов?
Интересует конкретно — как обратиться к интерфейсам?
По сути оба вопроса об одном и том же — два дня пытаюсь что-то сделать, но идеей пока не проникся.
>>> import win32com.client.makepy as makepy<br/>
>>> makepy.ShowInfo('название интересующей нас библиотеки, которое мы нашли в Registered Type Libraries')