Результаты поиска
Анатомия " утечки памяти"
В перспективе .NET:
- Что такое утечка памяти ?
- Как вы можете определить, утечка ли вашего приложения? Что же это за последствия?
- Как можно предотвратить утечку памяти?
- Если у вашего приложения есть утечка памяти, она исчезает при завершении процесса или убивается? Или утечки памяти в вашем приложении влияют на другие процессы в системе даже после завершения процесса?
- А как насчет неуправляемого кода, доступ к которому осуществляется через COM Interop и / или P/Invoke?
Проблемы с #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 (или поместить его в путь), но я не могу заставить это скомпилировать.
Какие-нибудь советы?
Java и C# совместимость
У меня есть две программы. Один находится в C#, а другой-в Java. Эти программы, скорее всего, всегда будут работать на одной и той же машине.
Как лучше всего было бы позволить им поговорить друг с другом?
Итак, чтобы прояснить проблему:
Это личный проект (поэтому профессиональные/дорогостоящие библиотеки-это не выход). Громкость сообщений невелика, будет примерно 1-2 сообщения в секунду. Сообщения небольшие, несколько примитивных типов должны сделать трюк. Я хотел бы сохранить сложность на низком уровне. Приложение java развертывается как один jar в качестве плагина для другого приложения. Так что чем меньше внешних библиотек мне придется объединить, тем лучше. Я полностью контролирую приложение C#. Как уже было сказано ранее, оба приложения должны выполняться на одном компьютере. Прямо сейчас мое решение было бы использовать сокеты с каким-то форматом csv-like.
Получение UI текста из внешнего приложения в C#
Можно ли получить UI текст из внешнего приложения в C#.
В частности, есть ли способ прочитать текст Unicode из метки (я предполагаю, что это обычный элемент управления Windows label) из внешнего приложения Win32, написанного третьей стороной? Текст виден, но не выбирается мышью в UI.
Я предполагаю, что существует некоторая доступность API (например, предназначенная для чтения с экрана), которая позволяет это сделать.
Edit: в настоящее время изучаю возможность использования чего-то вроде управляемого шпионского приложения , но все равно буду признателен за любые другие зацепки.
Как остановить появление компонента MS Graph во время Interop?
При использовании Office Interop в C#, при вставке объекта диаграммы в документ MS Word приложение Grap загружается очень быстро, а затем исчезает. Есть ли способ предотвратить это? Я попытался установить свойство Visible экземпляра приложения в значение false без эффекта.
EDIT: свойство Visible вступает в силу, когда используется против Word при interopping,и оно не появляется. Я ожидал бы, что есть аналогичный способ сделать это для MS Graph.
Как обойти неподдерживаемые целочисленные типы полей без знака в MS SQL?
Пытаясь сделать приложение на основе MySQL поддержкой MS SQL, я столкнулся со следующей проблемой:
Я сохраняю auto_increment MySQL как целочисленные поля без знака (разных размеров), чтобы использовать полный диапазон, поскольку я знаю, что никогда не будет отрицательных значений. MS SQL не поддерживает атрибут unsigned для всех целочисленных типов, поэтому мне приходится выбирать между удалением половины диапазона значений или созданием обходного пути.
Одним из очень наивных подходов было бы поместить некоторый код в код абстракции базы данных или в хранимую процедуру, которая преобразует между отрицательными значениями на стороне БД и значениями из большей части диапазона без знака. Это, конечно, испортит сортировку, а также не будет работать с функцией автоматического идентификатора (или это будет каким-то образом?).
Я не могу придумать хороший обходной путь прямо сейчас, есть ли он? Или я просто фанатик и должен просто забыть о половине диапазона?
Редактировать:
Вудхаус: да, наверное, ты прав. В моей голове все еще звучит голос, говорящий, что, возможно, я смогу уменьшить размер поля, если оптимизирую его использование. Но если нет простого способа сделать это, вероятно, не стоит беспокоиться об этом.