1

голосов
1

ответ
203

Просмотры

Excel VBA для отправки по электронной почте напоминание каждые 28 дней с даты

У меня есть следующий код, который работает уже, но я предполагаю, что это гораздо лучше, чем иметь много, если заявления происходят в 28 дней. Может кто-то пожалуйста, покажите мне, как сказать, каждые 28 дней отправить электронное письмо на основе даты создания? Благодарю вас! Sub Current28 () '' ' 'Dim ответ As VbMsgBoxResult' Ответ = MsgBox ( "Вы уверены, что хотите работать?", VbYesNo, "Выполнить макрос")' Если ответа = vbYes Тогда Dim I As Integer, Mail_Object, EMAIL_SUBJECT, о As Variant, Л.Р. As Long = Lr клеток (Rows.Count, "A"). End (xlUp) .Row Dim создан как 'Dim позиции As String' строка Dim ветвь As String Set Mail_Object = CreateObject ( "Outlook.Application" ) Для я = 2 Для Л.Р. С Mail_Object.CreateItem (о) .Subject = "Текущие Продавец ухода за 28 дней" .Чтобы = "[email protected]".
Paul C
1

голосов
1

ответ
3.5k

Просмотры

Различный Документ по умолчанию для IIS Application Sub

У меня есть веб-сайт IIS работает в ASP.NET сайт, но он имеет несколько приложений, работающих под ним (виртуальный каталог с отдельными бассейнами приложений в основном). Ну - мне нужно два отдельных приложения, которые указывают на то же директора корневой папки, но я хочу, чтобы приложения, чтобы иметь отдельные документы по умолчанию. Причина в том, что это, как он настроен в производстве, и это на мой ящик развития. Проблема заключается в том, что IIS продолжает давать мне то же документ по умолчанию для обоего приложений (которые являются отдельными виртуальными путями и отдельные бассейны приложения просто то же физическое местоположение). Как я могу преодолеть это или я не могу в IIS7? Я буду заново писать все это, и это не будет сделано таким образом, в furture ... но до тех пор мне не нужно, чтобы исправить некоторые ошибки и хочет локальную среду разработки. Помогите!
Paul C Huff
1

голосов
4

ответ
6.1k

Просмотры

tabindex issue with select2

У меня возникли проблемы с TabOrder на моей форме в то время как с помощью ВЫБ.2. У меня есть форма ввода, я хочу, чтобы пользователь сможет через вкладку в порядке. Я был в состоянии заказать входные текстовые поля, но не Выбор2 DropDownLists. Похоже, что проблема с ними, имеющими по умолчанию TabIndex а = «- 1», как показано ниже; >>>>>> Я также написал следующий JavaScript для добавления значения TabIndex к полям, но она не работает, как хотелось бы. вар TabOrder = 0; document.getElementById ( "ctl00_MainContent_ddlAreaKept") TabIndex = TabOrder ++. document.getElementById ( "ctl00_MainContent_ddlNCDYears") TabIndex = TabOrder ++. document.getElementById ( "ctl00_MainContent_txtVehicleValue") TabIndex = TabOrder ++. document.getElementById ( "ctl00_MainContent_txtAge"). TabIndex = TabOrder ++; document.getElementById ( "ctl00_MainContent_txtForename") TabIndex = TabOrder ++. document.getElementById ( "ctl00_MainContent_txtSurname") TabIndex = TabOrder ++. document.getElementById ( "ctl00_MainContent_txtEmail") TabIndex = TabOrder ++. document.getElementById ( "ctl00_MainContent_txtPhoneNumber") TabIndex = TabOrder ++. document.getElementById ( "ctl00_MainContent_btnGetQuote") TabIndex = TabOrder ++. В DropDownLists не получают вкладки в, он пропускает их, и проходит через текстовые поля, как это должно быть. Любая помощь очень ценится! РЕШИТЬ: Я попробовал: вар TabOrder = 1; и это решило проблему. Я не знаю точно, почему и как: |
Paul C
1

голосов
1

ответ
1.7k

Просмотры

питон просит модуль - установить ключ к нулю

из документации запросы: Удалить значение из Dict параметра Иногда вы хотите, чтобы пропустить ключи сессии на уровне от параметра Dict. Чтобы сделать это, вы просто установите значение этого ключа на None в параметре метода уровня. Он будет автоматически пропущен. Мне нужны данные со значением ключа, как никто не принимает значение нуля JSon вместо того, чтобы быть удалены. Является ли это возможным ? Редактирование: Это, кажется, происходит с моими ключами данных запроса. Несмотря на то, что они не на уровне сеанса поведение удаления остается тем же самым.
paul c
1

голосов
2

ответ
860

Просмотры

PyCharm Nosetests - unrecognised tests

I have various forms of this issue repeatedly with PyCharm and nosetest integration. Right click does not recognise certain tests or that the class/module contains nosetests at all. I have searched through many, many SO answers and still haven't got to the bottom of this. Here is the current reproduction of the issue. The content of the tests is not really relevant, but it is testing a singleton wrapper around a DB interface. class MyDBTest(unittest.TestCase): def setup(self): self.db = db_utils.get_connection(constants) def teardown(self): db_utils.truncate_all_my_tables(self.db) self.db.commit() self.db.close() def test_same_instance(self): other_instance = db_utils.get_connection(constants) assert other_instance is self.db def test_basic_query(self): cur = self.db.cursor() sql = "SELECT %s" cur.execute(sql, "Test") assert cur.rowcount == 1, "Expected one row, got ".format(cur.rowcount) def test_reopen_connection(self): self.db.close() self.db = db_utils.get_connection(constants) cur = self.db.cursor() sql = "SELECT %s" cur.execute(sql, "Test") assert cur.rowcount == 1, "Expected one row, got ".format(cur.rowcount) If I right click on the test "test_basic_query" I get the context menu option: "Run Nosetest test_basic_query" and clicking it does indeed run the test, including the setup and teardown. However right clicking on the other tests only presents the "run test_db_wrapper" option. Right clicking on the file in the Project pane only provides this option as well. Running this file from the command line with the nosetests3 executable does something even weirder. It runs all three tests, but does not run the setup and teardown. Note I have tried re-ordering, renaming the tests. I have tried inheriting from object, nothing or unittest.TestCase. I have other test classes that look exactly like this and they work. This is just one example, this happens to us all the time. It just seems random. PyCharm version is: PyCharm Community Edition 2016.1.4 Build #PC-145.1504, built on May 25, 2016 JRE: 1.8.0_76-release-b198 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Paul C
1

голосов
1

ответ
162

Просмотры

Qt TableView indexAt другое поведение с / без заголовка

Использование PySide 1.2 Grabbing индекса в щелкнутом элементе в QTableView возвращает другой результат там погода горизонтального заголовка или нет. Если есть горизонтальный заголовок, это, кажется, должны быть включены в вычислении visualRect. Таким образом, первая линия, первый индекс столбца больше не 0, 0, но 1, 0. это предназначено ли? Потому что это действительно сбивает с толку и неудобно, потому что последний индекс строки будет недействительна. Для воспроизведения: импорт повторного оператора импорта импорта Os импорта SYS # из Qt.QtCore импорта * # из Qt.QtGui импорта * # из Qt.QtWidgets импорта * из PySide.QtCore импорта * из PySide.QtGui импорта * четкость Main (): приложение = QApplication (sys.argv) ш = MyWindow () w.show () sys.exit (app.exec_ ()) класс CustomTableView (QTableView): "" " """ Защита __init __ (я, родитель = None):
paul c
2

голосов
4

ответ
901

Просмотры

How to return JSON call as string without special characters

Я ищу, чтобы вернуть файлы содержимого и я с помощью веб-сервиса и JSON, чтобы сделать это. . Мне удалось вернуть содержимое, но не в формате, я хочу, чтобы это было в мне нужно верхнюю область текста, чтобы быть в том же формате, что и текстовое поле на дне: мне нужно, чтобы отобразить \ п в виде новая линия, а не просто удалить его из строки. Текущий код (игнорировать предупреждения, только для своих собственных целей тестирования): функция CallWebService (CSSFile) {вар stringToDisplay = «»; вар WebMethod = "../services/BrokerAdmin/CSSComparison.asmx/GetFileContents"; $ .Ajax ({типа: "POST", асинхронные: ложь, URL: WebMethod данные: JSON.stringify ({CSSFile: CSSFile}), CONTENTTYPE: "приложение / JSON; кодировка = UTF-8", тип данные: «JSON »успех: Функция (MSG) {}, ошибка: функция (е) {Alert ( "Ошибка =" + e.responseText); }, В комплекте: функция (MSG) {оповещения (MSG); если (JSON.parse (msg.responseText) .d.toString ()! = "" || JSON.parse (msg.responseText) .d.toString ()! = NULL) {Alert ( "msg.responseText =" + msg.responseText); $ ( '# Ctl00_BodyContent_elm2') Вал (msg.responseText). } Еще если (JSON.parse (msg.responseText) .Message.toString () == "" || JSON.parse (msg.responseText) .d.toString () == NULL) {Alert ( "вы проиграете!" ); } Еще {Alert ( "ПОВТОР"); }}}); } Может кто-нибудь помочь? responseText); }, В комплекте: функция (MSG) {оповещения (MSG); если (JSON.parse (msg.responseText) .d.toString ()! = "" || JSON.parse (msg.responseText) .d.toString ()! = NULL) {Alert ( "msg.responseText =" + msg.responseText); $ ( '# Ctl00_BodyContent_elm2') Вал (msg.responseText). } Еще если (JSON.parse (msg.responseText) .Message.toString () == "" || JSON.parse (msg.responseText) .d.toString () == NULL) {Alert ( "вы проиграете!" ); } Еще {Alert ( "ПОВТОР"); }}}); } Может кто-нибудь помочь? responseText); }, В комплекте: функция (MSG) {оповещения (MSG); если (JSON.parse (msg.responseText) .d.toString ()! = "" || JSON.parse (msg.responseText) .d.toString ()! = NULL) {Alert ( "msg.responseText =" + msg.responseText); $ ( '# Ctl00_BodyContent_elm2') Вал (msg.responseText). } Еще если (JSON.parse (msg.responseText) .Message.toString () == "" || JSON.parse (msg.responseText) .d.toString () == NULL) {Alert ( "вы проиграете!" ); } Еще {Alert ( "ПОВТОР"); }}}); } Может кто-нибудь помочь? ! ToString () = NULL) {Alert ( "msg.responseText =" + msg.responseText); $ ( '# Ctl00_BodyContent_elm2') Вал (msg.responseText). } Еще если (JSON.parse (msg.responseText) .Message.toString () == "" || JSON.parse (msg.responseText) .d.toString () == NULL) {Alert ( "вы проиграете!" ); } Еще {Alert ( "ПОВТОР"); }}}); } Может кто-нибудь помочь? ! ToString () = NULL) {Alert ( "msg.responseText =" + msg.responseText); $ ( '# Ctl00_BodyContent_elm2') Вал (msg.responseText). } Еще если (JSON.parse (msg.responseText) .Message.toString () == "" || JSON.parse (msg.responseText) .d.toString () == NULL) {Alert ( "вы проиграете!" ); } Еще {Alert ( "ПОВТОР"); }}}); } Может кто-нибудь помочь? } Еще {Alert ( "ПОВТОР"); }}}); } Может кто-нибудь помочь? } Еще {Alert ( "ПОВТОР"); }}}); } Может кто-нибудь помочь?
Paul C
4

голосов
2

ответ
1.1k

Просмотры

реагировать маршрутизаторы-РОМ - перейти непосредственно к маршруту

При использовании среагировать-маршрутизатор-дом, я должен быть в состоянии создать маршрут и перейти к нему вручную, введя свой путь в URL? Const App = () =>; Таким образом, я буду на локальном хосте, и когда я вручную ввести «/» prequote до конца URL в навигационной панели не перенаправляет к компоненту я указал, вместо этого он бросает 404. Это ожидаемое поведение? Я искал ответ и видел некоторые предложения, что настройка Webpack (я использую Webpack) иметь devServer.historyApiFallback = истина должна работать, но это не работает для меня.
Paul C
2

голосов
3

ответ
947

Просмотры

AirPrint (UIPrintInteractionController) печать предупреждение с прошивкой 9, быстрые 2, XCode 7

Поскольку обновление до последней XCode / Swift 2 / IOS 9 Я постоянно получаю предупреждения при попытке использовать UIPrintInteractionController. Эти предупреждения только в том случае, когда у меня есть «Print Simulator» открыт. Я думал, что это было мое приложение, так что я сделал новый сингл вида приложения с одним UIButton, что делает очень простой код, и он по-прежнему генерирует предупреждения. Это происходит на телефоне и на тренажерах IPad Пожалуйста, помогите. Это сводит меня с ума, спасибо всем @IBAction Func Clicked (отправитель: AnyObject) {пусть printController = UIPrintInteractionController.sharedPrintController () пусть Принтинфо = UIPrintInfo (словарь: ноль) printInfo.outputType = UIPrintInfoOutputType.General printInfo.jobName = "печать" Работа printController.printInfo = Принтинфо пусть форматировщик = UIMarkupTextPrintFormatter (markupText: "Hello World" ) Formatter.contentInsets = UIEdgeInsets (вверху: 72, слева: 72, дно: 72, правый: 72) printController.printFormatter = форматер, если UIDevice.currentDevice () userInterfaceIdiom == .phone {printController.presentAnimated (ложь, completionHandler:. Ноль )} еще {printController.presentFromRect (view.frame, INview: вид, анимированные: ложь, completionHandler: ноль)}} Ниже приведены предупреждения: 2015-09-29 18: 58: 19,748 MyApp [1608: 527574] Несимметричные вызовы на начала / конца внешний вид переходов для. 2015-09-29 18: 58: 20,013 MyApp [1608: 527574] поведение UICollectionViewFlowLayout не определен, так как: 2015-09-29 18: 58: 20.014 MyApp [1608: 527574] высота элемент должен быть меньше, чем высота UICollectionView минус раздел вставок сверху и снизу значений, минус вставок содержимых сверху и снизу значений. 2015-09-29 18:58: 20,015 MyApp [1608: 527574] Соответствующий экземпляр UICollectionViewFlowLayout есть, и он присоединен к коллекции макету вида:. 2015-09-29 18: 58: 20,015 MyApp [1608: 527574] Сделайте символическую контрольную точку в UICollectionViewFlowLayoutBreakForInvalidSizes, чтобы поймать это в отладчике. 2015-09-29 18: 58: 20,026 MyApp [1608: 527574] поведение UICollectionViewFlowLayout не определен, так как: 2015-09-29 18: 58: 20.026 MyApp [1608: 527574] высота элемент должен быть меньше, чем высота UICollectionView минус раздел вставок сверху и снизу значений, минус вставок содержимых сверху и снизу значений. 2015-09-29 18: 58: 20,027 MyApp [1608: 527574] Соответствующий экземпляр UICollectionViewFlowLayout есть, и он присоединен к коллекции макета вид:. 2015-09-29 18: 58: 20,027 MyApp [1608: 527574] Сделайте символическую контрольную точку в UICollectionViewFlowLayoutBreakForInvalidSizes, чтобы поймать это в отладчике. 2015-09-29 18: 58: 21,735 MyApp [1608: 527574] поведение UICollectionViewFlowLayout не определен, так как: 2015-09-29 18: 58: 21.735 MyApp [1608: 527574] высота элемент должен быть меньше, чем высота UICollectionView минус раздел вставок сверху и снизу значений, минус вставок содержимых сверху и снизу значений. 2015-09-29 18: 58: 21,736 MyApp [1608: 527574] Соответствующий экземпляр UICollectionViewFlowLayout есть, и он присоединен к коллекции макета вид:. 2015-09-29 18: 58: 21,736 MyApp [1608: 527574] Сделайте символическую контрольную точку в UICollectionViewFlowLayoutBreakForInvalidSizes, чтобы поймать это в отладчике. 2015-09-29 18: 58: 21,758 MyApp [1608: 527574] поведение UICollectionViewFlowLayout не определен, так как: 2015-09-29 18: 58: 21,759 MyApp [1608: 527574] высота элемента должна быть меньше, чем высота UICollectionView минус раздел вставок сверху и снизу значений, минус вставок содержания верхних и нижнее значение. 2015-09-29 18: 58: 21,759 MyApp [1608: 527574] Соответствующий экземпляр UICollectionViewFlowLayout есть, и он присоединен к коллекции макета вид:. 2015-09-29 18: 58: 21,759 MyApp [1608: 527574] Сделайте символическую контрольную точку в UICollectionViewFlowLayoutBreakForInvalidSizes, чтобы поймать это в отладчике.
Paul C
2

голосов
1

ответ
10.7k

Просмотры

Matlab - Импорт .dat файл в массив

Я все еще довольно новое в Matlab, но по какой-то причине документация не все, что полезно с этим. У меня есть файл .dat, что я хочу, чтобы включить в _ строку на 6 массива столбцов (количество строк, изменяется в зависимости от программы, которая генерирующего файл .dat). Что мне нужно сделать, это получить размеры изображения этого массив будет использоваться, чтобы сделать из первой строки 2-го столбца (х размерностей) и первая строка 4 столбца (у размерности). При использовании инструмента импорта данных в Matlab, это работает должным образом: Однако мне нужна программа, чтобы сделать это автоматически. Если первая строка не была там, я уверен, что я мог бы просто использовать fscanf, чтобы поместить данные в массиве, но размеры изображения необходимы. Любая идея, что мне нужно использовать вместо этого?
Paul C
1

голосов
2

ответ
4.8k

Просмотры

Как я могу проверить статус активных соединений MongoDB, используя драйвер Java

У меня есть требование, чтобы опубликовать (в графите) на «количество активного соединения доступного» статус Mongo DB, например, когда служба REST называется. Я знаю, что мы можем использовать db.serverStatus (), чтобы узнать подробности о связях на стороне сервера. Я ищу, чтобы получить «количество активных соединений доступны» информации на стороне клиента с помощью Java API. Документация Driver API MongoDB Java не очень помогает в этом.
Paul C
0

голосов
0

ответ
4

Просмотры

Детонация использование MapView в CustomScrollView виджете

В моем CustomeScrollView виджете, я встроил MapView в SliverAppBar и ниже SliverList маркерных данных из MapView. Однако, когда панорамирование (вверх / вниз), в районе MAPview, было бы в целом считается прокрутки в целом Scrollview виджета и карта не панорамирование на всех. Будет ли кто-нибудь испытал, пожалуйста, помогите дать мне несколько советов, чтобы преодолеть эту проблему? Спасибо тебе за твое терпение. Поэтому я поставил MapView внутри sliverbar является решение экрана визуализации и прокрутка вопроса (чтобы иметь возможность прокрутки внизу список Щепки времени dixed области MAPview). Если есть другой способ построить виджеты, не стесняйтесь предложить также.
Paul C
3

голосов
3

ответ
1.3k

Просмотры

Могу ли я сага NserviceBus быть запущен и обработать такое же сообщение?

Быстрый вопрос: У меня есть сага, которая может иметь сценарий, где он должен обрабатывать сообщение, которое может прийти в рамках двух ситуациях. Тот, где сага все еще открыта, и один, где сага была отмечена как полные. Если сага открыт, большой, по-прежнему, как обычно. Если сага не открыть ему нужно, чтобы начать новую сагу. Что является лучшей практикой справиться с этой ситуацией? IHandleMessages отлично работает, очевидно, если сага открыта. Но не IAmStartedByMessages причина два саг быть открытыми? Это было бы плохо. Спасибо
Paul C Huff
3

голосов
1

ответ
200

Просмотры

Maven сборки висит между Surefire тесты

Без всякой видимой причины, и без каких-либо соответствующих изменений в коде, мои DB Surefire тесты висят после конкретного теста. Консольный вывод указывает на то, что тест 50 завершается успешно, и что тест 51 еще не началась [INFO] Запуск xxxx.server.db.dao.Test50 [INFO] Тесты запуска: 1, Отказы: 0, ошибки: 0, пропущено: 0, Время, прошедшее: 0.954 сек - в xxxx.server.db.dao.Test50 я запустить следующую команду, чтобы получить дамп нити ниже mvndebug -DforkCount = 0 чистой установку ниже не работает либо и вызывает тот же behavour в том же точка в тестовом прогоне МВН чистая установка Тесты выполняется на Windows 10 с MySQL 5.7 сервер с использованием Maven 3.3.9. Я пробовал использовать различные версии мавенны без успеха. Кроме того, я пробовал разные версии плагина и верного вилочные настройки, -1) при java.util.concurrent.locks.LockSupport.park (LockSupport.java:175) при java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject.await (AbstractQueuedSynchronizer.java:2039) в java.util.concurrent. ArrayBlockingQueue.take (ArrayBlockingQueue.java:403) в org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer $ Pumper.run (ThreadedStreamConsumer.java:83) в java.lang.Thread.run (Thread.java: 748) Он всегда висит на том же месте в тестовом режиме. Я попытался cheching и настройка макс соединений на БД. Есть только 3 соединения активного в это время и предел 151. Установка нити в MySql имеет максимум 64. Все DB соединение приложений для test50 закрыты в конечных блоках TRY. Отключение test50 вызывает один и тот же результат. Я не знаю, какой тест в настоящее время следующего запуска. Существует, конечно, то, что мне не хватает. Есть идеи?
Paul C. R.
3

голосов
2

ответ
939

Просмотры

Как добавить дополнительные данные в ActiveRecord записей сериализации в JSON в Rails?

Я обнажая некоторые ресурсы, с помощью простого API, который возвращает JSON. Я хотел бы, чтобы ввести путь к каждому из ресурсов, с тем, что потребитель не должен строить их. Пример желаемого выхода что-то вроде User.all.to_json: пользователей: [{пользователь: {ID: 1, имя: 'Зафод', URL: 'http://domain.com/users/1.json'}}, {пользователь: {ID: 2, имя: 'Барон Мюнхгаузен', URL: 'http://domain.com/users/2.json'}}]; Для того, чтобы генерировать URL я хотел бы продолжать использовать помощник и не загрязняют модели с таким родом информации. Есть ли способ сделать это? Или я лучше просто положить это в модель?
Paul C
3

голосов
4

ответ
4.3k

Просмотры

импорт символов из пакета питона в пространство имен вызывающего абонента

У меня есть небольшой внутренний DSL написанного в одном файле Python, которая выросла до точки, где я хотел бы разделить содержимое по целому ряду различных каталогов + файлы. Новая структура каталогов в настоящее время выглядит следующим образом: DSL / __init__.py типы / type1.py type2.py и каждый тип файла __init__.py содержит класс (например, Type1). Моя проблема заключается в том, что я хотел бы сохранить выполнение кода, который использует этот DSL как можно проще, что-то вроде: импорт х = глубинный рассеивающий слой Type1 () ... Это означает, что все важные символы должны быть доступны непосредственно в пользователя Пространство имен. Я попытался обновить файл __init__.py верхнего уровня, чтобы импортировать соответствующие символы: от types.type1 импорта Type1 из types.type2 импорта типа 2 ... печать глобал () вывод показывает, что символы импортируются правильно, но они до сих пор нет в коде вызывающего абонента (код, который делает импорт DSL). Я думаю, что проблема заключается в том, что символы фактически импортируется в «Dsl» пространство имен. Как я могу изменить это так, что классы также доступны непосредственно в пространстве имен вызывающего абонента?
Paul C
2

голосов
4

ответ
335

Просмотры

Merge arrays and add based on key in python

Я хочу, чтобы объединить 2 массива в Python и добавить значения на основе ключа Пример: Бакалея = [] A = [{группа: «Фрукты», пункт: «банан», количество: 10}, {группа: «Овощной», пункт : 'Морковь', количество: 1}] для элемента A: Groceries.append (пункт) B = [{группы: 'Fruit', пункт: 'банана', количество: 3}, {группы: 'Овощной', пункт : 'Сельдерей', количество: 1}] для элемента B: Groceries.append (пункт) печати (бакалейная) вернут: [{группы: 'Fruit', пункт: 'банан', количество: 10}, {группы: 'Растительная', пункт: 'моркови', количество: 1}, {группа: 'Фрукты', пункт: 'банан', количество: 3}, {группа: 'Растительный', пункт: 'сельдерей', количество:1}] Есть ли способ, что я могу объединить их в пути, где результат был бы вместо того, чтобы быть: [{группа: «Фрукты», пункт: «банан», количество: 13}, {группа: «Овощной», пункт: " Морковь», количество: 1}, {группа: 'Растительный', пункт: 'сельдерея', количество: 1}] (Обратите внимание, что в нем говорится 13 Бананы вместо 2 экземпляра Бананы)
Paul C
2

голосов
2

ответ
786

Просмотры

Why do I get Ice::MemoryLimitException, even with Ice.MessageSizeMax=2000000

Привет я написал C # клиентское приложение / сервер с помощью libary Ice связи Zeroc (v3.4.2). Я перевожу последовательность объектов с сервера, которые затем отображаются их в клиенте в табличном формате. Достаточно просто. Я определил следующие типы ломтика перечислений DrawType {Все, проточный, Raffle}; структура TicketSoldSummary {INT scheduleId; DrawType DTYPE; строка drawName; долго STARTDATE; долго ENDDATE; строка winningNumbers; INT numTicket; Статус строки; }; Последовательность TicketSoldSummaryList; Интерфейс IReportManager {[..] TicketSoldSummaryList getTicketSoldSummary (длинный начальный промежуток, длинные EndTime); }; Когда я называю этот метод обычно работает нормально, но иногда (приблизительно 25% времени) абонент получает Ice :: MemoryLimitException. Мы, как правило, работает 2-3 клиентов одновременно. Я искал в Интернете ответов, и мне сказали, чтобы увеличить Ice.MessageSizeMax, что я и сделал. Я увеличил MessageSizeMax вплоть до 2000000 килобайт, но это не имеет никакого значения, я просто сделал тест с 31000 записей (примерно 1,8 мегабайта данных) и до сих пор получить Ice.MemoryLimitException. 1.8 Megs не очень большой! Я делаю что-то неправильно или есть ошибка в Zeroc льду? Большое спасибо всем, что может предложить некоторую помощь.
Paul C
64

голосов
3

ответ
28.2k

Просмотры

Могу ли я программно открыть DevTools с расширением Google Chrome?

У меня есть расширение хром, который перехватывает в Devtools. В идеале я хочу значок, который, при нажатии открывает DevTools на новой вкладке, которую я создал. Есть ли способ сделать это с фоном страницы?
Paul C Nichols
7

голосов
2

ответ
14.6k

Просмотры

Swift write/save/move a document file to iCloud drive

I've been trying for over two days to write a file to iCloud drive. I have tried writing a simple text file directly, locally then moving it, using UIDocumentMenuViewController, etc. I'm not getting any errors with my code and stepping through debugger, it looks successful, but when I check to see if the file exists or at least the iCloud directory, there is nothing there. I tried on both the simulator and my iPhone, triggering iCloud synching, and everything else I can think of. My main goal is to simply write a text file to the iCloud drive, which later will be "numbers" file I have set up my plist file and my entitlements: NSUbiquitousContainers iCloud.com.paul.c.$(PRODUCT_NAME:rfc1034identifier) NSUbiquitousContainerIsDocumentScopePublic NSUbiquitousContainerName myCloudTest NSUbiquitousContainerSupportedFolderLevels Any I have also bumped up by bundle version as stated at: Save iOS 8 Documents to iCloud Drive I have tried dozens of tutorials with no luck. My latest code is based off of this sample: https://medium.com/ios-os-x-development/icloud-drive-documents-1a46b5706fe1 Here is my code: @IBAction func ExportFile(sender: AnyObject) { var error:NSError? let iCloudDocumentsURL = NSFileManager.defaultManager().URLForUbiquityContainerIdentifier(nil)?.URLByAppendingPathComponent("myCloudTest") //is iCloud working? if iCloudDocumentsURL != nil { //Create the Directory if it doesn't exist if (!NSFileManager.defaultManager().fileExistsAtPath(iCloudDocumentsURL!.path!, isDirectory: nil)) { //This gets skipped after initial run saying directory exists, but still don't see it on iCloud NSFileManager.defaultManager().createDirectoryAtURL(iCloudDocumentsURL!, withIntermediateDirectories: true, attributes: nil, error: nil) } } else { println("iCloud is NOT working!") // return } if ((error) != nil) { println("Error creating iCloud DIR") } //Set up directorys let localDocumentsURL = NSFileManager.defaultManager().URLsForDirectory(NSSearchPathDirectory.DocumentDirectory, inDomains: .UserDomainMask).last as! NSURL //Add txt file to my local folder let myTextString = NSString(string: "HELLO WORLD") let myLocalFile = localDocumentsURL.URLByAppendingPathComponent("myTextFile.txt") let written = myTextString.writeToURL(myLocalFile, atomically: true, encoding: NSUTF8StringEncoding, error: &error) if ((error) != nil){ println("Error saving to local DIR") } //If file exists on iCloud remove it var isDir:ObjCBool = false if (NSFileManager.defaultManager().fileExistsAtPath(iCloudDocumentsURL!.path!, isDirectory: &isDir)) { NSFileManager.defaultManager().removeItemAtURL(iCloudDocumentsURL!, error: &error) } //copy from my local to iCloud if (error == nil && !NSFileManager.defaultManager().copyItemAtURL(localDocumentsURL, toURL: iCloudDocumentsURL!, error: &error)) { println(error?.localizedDescription); } Thank You for taking time for this. Cheers, Paul I ran some code on my iphone after the code above: var error:NSError? let iCloudDocumentsURL = NSFileManager.defaultManager().URLForUbiquityContainerIdentifier(nil) //?.URLByAppendingPathComponent("myCloudTest") var fileManager: NSFileManager = NSFileManager() var fileList: NSArray = fileManager.contentsOfDirectoryAtURL(iCloudDocumentsURL!, includingPropertiesForKeys: nil, options: nil, error: &error)! var filesStr: NSMutableString = NSMutableString(string: "Files in iCloud folder \n") for s in fileList { println(s) } and it prints out the path to my text file: file:///private/var/mobile/Library/Mobile%20Documents/iCloud~com~paul~c~myApp/MyTextFile.txt My file is there, I just can't see it on iCloud drive.
Paul C